PHP PDO绑定变量类型的跳闸


PHP PDO Bind tripping with variable types

我有一个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。

这是正常行为还是已知行为?

您可以明确指定使用第三个可用参数

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

手动

是的,这是一个问题,请检查手动注释。

第三个参数代表数据类型,您可以使用它。