查询返回false

时间:2015-09-11 21:51:29

标签: php mysql

过去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;

对于为什么会失败的任何帮助或见解将不胜感激。

2 个答案:

答案 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";