[英]SQL syntax in insert into
我寫了這段代碼:
mysql_query("INSERT INTO test (user_id, word_id, right) VALUES ('6', '23', '5' )") or die(mysql_error());
但是錯誤消息提示:
您的SQL語法有誤; 檢查與您的MySQL服務器版本對應的手冊以獲取正確的語法,以在第1行附近使用“正確的” VALUES(“ 6”,“ 23”,“ 5”)”
我做錯了什么?
right
是一個保留字 ,請像這樣逃避它:
INSERT INTO test (user_id, word_id, `right`) VALUES ('6', '23', '5' )
注意: 1
不建議使用此擴展名(mysql_query)。 相反,應使用MySQLi或PDO_MySQL擴展。 另請參見MySQL:選擇API指南和相關的FAQ,以獲取更多信息。 此功能的替代方法包括:
mysqli_query() PDO::query()
1: 引自PHP手冊:mysql_query
right
保留關鍵字9.3. Reserved Words
當使用保留關鍵字時, 9.3. Reserved Words
需要轉義嘗試
mysql_query("INSERT INTO test (user_id, word_id, `right`) VALUES ('6', '23', '5' )") or die(mysql_error());
試試這個::: RIGHT
是已知的關鍵字,嘗試反引號
INSERT INTO test (`user_id`, `word_id`, `right`) VALUES ('6', '23', '5' )
INSERT INTO `test` (`user_id`, `word_id`, `right`) VALUES ('6', '23', '5' )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.