我有一个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);
^
手动
是的,这是一个问题,请检查手动注释。
第三个参数代表数据类型,您可以使用它。