过去2个小时我一直坚持这个问题,看不出这里有什么问题。
当我在phpmyadmin中手动执行SQL时,当我用:item_quant
和:item_code
替换它们的真值时,它运行正常。
在返回false时添加回显以查看$item_quant
和$item_code
是否为正确值,它会将其显示为正确的值。
$sql = "UPDATE inventory SET item_quant=item_quant+:item_quant WHERE item_code=':item_code' LIMIT 1";
$query = $database->prepare($sql);
$result = $query->execute(array(':item_quant' => $item_quant, ':item_code' => $item_code));
if ($result) {
return true;
}
return false;
对于为什么会失败的任何帮助或见解将不胜感激。
答案 0 :(得分:2)
不得将占位符放在引号内。
$sql = "UPDATE inventory SET item_quant=item_quant+:item_quant WHERE item_code=:item_code LIMIT 1";
答案 1 :(得分:0)
尝试删除引文:
$sql = "UPDATE inventory SET item_quant=item_quant+:item_quant WHERE item_code=:item_code LIMIT 1";