PDO绑定数据类型和比较

时间:2011-08-03 21:42:58

标签: php mysql

我在表中有一个整数列,当我进行比较时,以下代码似乎有效。

$myLimit = 10;
$sth = $db->prepare("SELECT * FROM table WHERE number<:myLimit");
$sth->bindParam(':myLimit',$myLimit); // default datatype is PDO::PARAM_STR
$sth->execute();
$result = $sth->fetchAll();

我应该使用PDO :: PARAM_INT作为bindParam的第三个参数吗? 另外,对于实数我不能使用PDO :: PARAM_INT,因为它会围绕它们。

1 个答案:

答案 0 :(得分:0)

PHP中的数字处理非常糟糕。为了传递大数字,我的建议是将它们保持为字符串。

编辑我刚刚测试了数字处理; PARAM_INT适用于大型数字字符串,因此您不必使用PARAM_INT,但确切无误:)

至于浮点数,你应该使用PARAM_STR传递它们以大幅度地失去精确度。