PDOStatement ::使用参数执行

时间:2011-06-28 17:48:21

标签: php pdo

此功能真的不清楚:http://www.php.net/manual/en/pdostatement.execute.php

我不确定为什么我会将bindParam作为反对只是传入一个数组。使用bindParam,我必须指定类型。

所以我的问题是,如果我只是$stmt->execute(array("somevalue", b'somebinarydata', 10203, 201.3));,那么这些类型会被自动识别吗?我有什么需要注意的吗?

感谢。

2 个答案:

答案 0 :(得分:2)

  

所以我的问题是,如果我只是执行$ stmt-> execute(array(“somevalue”,b'somebinarydata',10203,201.3));是否会自动识别这些类型?

答案是否,PHP手册指出:

  

具有与正在执行的SQL语句中的绑定参数一样多的元素的值数组。 所有值都被视为 PDO::PARAM_STR

说明实体PDO::PARAM_STR的页面说明:

  

表示SQL CHAR,VARCHAR或其他字符串数据类型。

来源:http://www.php.net/manual/en/pdo.constants.php

答案 1 :(得分:0)

正如文档中所述,如果您想要指定类型,请事先执行此操作,例如:

$sth->bindParam(':calories', $calories, PDO::PARAM_INT);

Example