我有以下SQL正在执行:
$query = $pdo->prepare('SELECT * FROM active_notifications WHERE direction = ">"
AND trigger_price > "$floatUsdTrigger" ');
如果我用一个数字替换
$floatUsdTrigger
,它将按预期工作;但是它无法使用我的$floatUsdTrigger
变量。这个变量被转换成float
,当我做string
时,它看起来是正确的,例如vardump
。我的
(float) 120.00
是一个trigger_price
,就像我说的,当我用一个数字替换varchar[10]
时就可以了;有什么想法吗?我做了大量的研究,但找不到答案;作为一个客观的C开发人员,我发现PHP有时会变得非常“松散”。
最佳答案
您使用的是->prepare
,请不要使用变量插值!
这样做:
$query = $pdo->prepare('SELECT * FROM active_notifications WHERE direction = ">" AND trigger_price > ?');
$query->execute(array($floatUsdTrigger));
while($row = $query->fetch()){
// var_dump($row);
}