PHP PDO使用变量类型绑定跳闸

时间:2014-10-15 05:34:02

标签: php pdo

我有一个PDO连接(持久性),我正在做这样的查询:

$sql=$pdo->prepare("SELECT * FROM table WHERE myindex=:PDO_myIndex");
$sql->bindParam(':PDO_myIndex', $myIndex);
$sql->execute();

问题是$ myIndex在bindParam之前是INT(用var_dump确认)然后在bindParam之后变为STRING(在执行之前)。

这是正常或已知的行为吗?

2 个答案:

答案 0 :(得分:3)

您可以使用第三个可用参数

明确指定
$sql->bindParam(':PDO_myIndex', $myIndex, PDO::PARAM_INT);
                                          ^

<强> Manual

答案 1 :(得分:1)

是的,这是一个问题,请查看手册comment

第三个参数代表datatype - 你可以使用那个。