過去2個小時我一直卡在這裏,無法看到問題出在這裏。我用:item_quant
和:item_code
取代它們的真實值。查詢返回false
當添加回顯返回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;
任何幫助或瞭解爲什麼這將失敗將不勝感激。
仍然得到同樣的結果。當在phpmyadmin中手動輸入時,因爲它是一個VARCHAR列,所以它需要引號,否則它將不會運行。 編輯:試了一遍,它的工作..我不知道...請拍我。 –
這是正確的,手動執行時需要引號,但佔位符會自動處理。 – Barmar
@BradleyScott:是的,如果您手動*運行查詢,則需要引用字符串。使用準備好的語句時,不要引用佔位符。運行查詢時,這些值將被解釋爲字符串。 –