我正在用購物車製作產品管理系統。在產品管理php我顯示/添加/刪除/編輯數據庫中的產品。當我嘗試添加產品時,出現以下錯誤消息:SQL Sytax錯誤。雖然看不到
發生錯誤:您的SQL語法有錯誤;請查看與您的MySQL服務器版本相對應的手冊,以便在第1行的'desc,price'附近使用正確的語法VALUES('28/03/2014','prod1','desc1','5.99')'
我的代碼:
if(isset($_POST["add_prod"]))
{
$date = date("d/m/Y");
extract($_POST);
$link = mysqli_connect("localhost", "root", "*******", "souljaz");
$sql = "INSERT INTO products (date, name, desc, price) VALUES ('{$date}', '{$name}', '{$desc}', '{$price}')";
if(mysqli_query($link, $sql)) print "Product added.";
else print "Error occured: ".mysqli_error($link);
}
'desc'是一個保留字..用反引號括起來。 –
'desc'是[保留關鍵字](http://dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-6.html)。你需要用反引號包裝:'\'desc \''(或者使用更好的名字) –
爲什麼人們甚至會在「_Description_」上使用「_desc_」(_assuming_這就是它代表的!),我永遠不會知道(不是自80年代以來)。我會表達進一步的困惑,而不是一個建議改進命名約定並自動提供潛在的不良解決方案的答案。 –