具有绑定值的 Pdo 结果与硬编码值不同。
$q = $conn->prepare('SELECT 0.27*0.08 * SUM(n) as ok, :i * SUM(n) as notOK from mytable group by id');
$q->bindValue(':i', 0.27*0.08, PDO::PARAM_STR); // tax
$q->execute();
var_dump($q->fetchAll(PDO::FETCH_ASSOC));
结果:
["ok"]=> "313.095888"
["notOK"]=> "289.9036"
["ok"]=> "80.601048"
["notOK"]=> "74.6306"
...
ok != notOK,但它应该(ok 是正确的)。
我的问题是为什么?