我在表中有一个整数列,当我进行比较时,以下代码似乎有效。
$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,因为它会围绕它们。
答案 0 :(得分:0)
PHP中的数字处理非常糟糕。为了传递大数字,我的建议是将它们保持为字符串。
编辑我刚刚测试了数字处理; PARAM_INT
适用于大型数字字符串,因此您不必使用PARAM_INT
,但确切无误:)
至于浮点数,你应该使用PARAM_STR
传递它们以大幅度地失去精确度。