簡體   English   中英

PHP / Mysql語法錯誤,插入

[英]PHP/Mysql syntax error with insert

有人可以告訴我我的請求錯了嗎?

$sql = "INSERT INTO order (order_id,prod) VALUES ('','".$prod."')";
mysql_query($sql) or die ('Error SQL !'.$sql.'<br />'.mysql_error());
$_SESSION['orderid']=mysql_insert_id();

這是我的表配置:

order表列:

'order_id'=>int(11) auto_increment
'prod'=> varchar(20) utf8_general_ci

這是錯誤消息:

錯誤的SQL!INSERT INTO訂單(order_id,prod)值(“,'xxx')您的SQL語法有錯誤; 檢查與您的MySQL服務器版本對應的手冊以獲取正確的語法,以在第1行的'order(order_id,prod)VALUES('','xxx')'附近使用

謝謝

ORDER是保留關鍵字,恰好是您的列/表的名稱。 為避免語法錯誤,您需要使用反引號對其進行轉義。 例如

`ORDER`

如果您有權更改表,請將表名稱更改為非保留關鍵字,以免再次發生問題。

mysql_* 請不要在新代碼中使用mysql_*函數 它們不再維護,已正式棄用 看到紅色框了嗎? 相反,要了解准備好的語句 ,並使用PDOMySQLi- 本文將幫助您確定哪一個。 如果您選擇PDO, 這是一個很好的教程

嘗試這個:

INSERT INTO `order` (order_id,prod) VALUES ('','".$prod."')

替換為此,只需在表名中使用單引號

$sql = "INSERT INTO `order` (order_id,prod) VALUES ('','".$prod."')";

$ insert =“ INSERT INTO orderorder_idprod )VALUES('','”。$ prod。“'))”;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM