这个页面对于函数:http://www.php.net/manual/en/pdostatement.execute.php确实不是很清楚。
我不太确定为什么我要bindParam,而不是仅仅传入一个数组。对于bindParam,我必须指定类型。
所以我的问题是,如果我只做$stmt->execute(array("somevalue", b'somebinarydata', 10203, 201.3));
,类型会被自动识别吗?有什么我需要注意的吗?
谢谢。
发布于 2011-06-29 01:52:29
所以我的问题是,如果我只执行$stmt->execute((“somevalue”,b‘’somebinarydata‘,10203,201.3));,类型会被自动识别吗?
答案是否定的,PHP手册上写道:
一个值数组,其元素数量与要执行的SQL语句中的绑定参数的数量相同。所有值都被视为
PDO::PARAM_STR
__。
说明实体PDO::PARAM_STR
的页面声明:
表示VARCHAR、VARCHAR或其他字符串数据类型。
来源:http://www.php.net/manual/en/pdo.constants.php
发布于 2011-06-29 01:50:36
正如文档中所说,如果您想指定类型,则需要事先执行此操作,例如:
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
https://stackoverflow.com/questions/6510863
复制相似问题