2012-12-10 32 views
0

我寫了這個代碼:SQL語法到

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')'

我做錯了什麼?

+2

你不應該使用字符文字的數字。 ''6'是一個字符,'6'是一個數字。 –

回答

4

rightreserved word,逃避它就像這樣:

INSERT INTO test (user_id, word_id, `right`) VALUES ('6', '23', '5') 

需要注意的是:

使用這個擴展(的mysql_query)不鼓勵。應該使用MySQLiPDO_MySQL 擴展名。有關更多信息,另請參閱MySQL: choosing an API指南和 相關的常見問題解答。替代此功能 包括:

mysqli_query() 
PDO::query() 

1:PHP Manual: mysql_query

+0

非常感謝!其他保留字是什麼? –

+0

@Tresk,查看我更新的答案中的鏈接。 –

2

right引用,當我們使用保留關鍵字保留關鍵字9.3. Reserved Words我們要逃避他們嘗試

mysql_query("INSERT INTO test (user_id, word_id, `right`) VALUES ('6', '23', '5')") or die(mysql_error()); 

enter image description here

+0

非常感謝您的幫助! –

0

試試這個::: RIGHT被稱爲關鍵字,請嘗試使用反引號

INSERT INTO test (`user_id`, `word_id`, `right`) VALUES ('6', '23', '5') 
0
INSERT INTO `test` (`user_id`, `word_id`, `right`) VALUES ('6', '23', '5')