2011-02-05 73 views
1
mysql_query("INSERT INTO dictionary ('word', 'definition') VALUES ('".$word."','".$definition."');") 

,就不會執行,當我echo它 - 我得到這個:
更多的PHP MySQL的INSERT樂趣

INSERT INTO dictionary ('word', 'definition') VALUES ('monkey','monkey'); 

所以值被帶入其正常的,如果我出去把mysql_error()我獲得:

您的SQL語法錯誤; 檢查對應 你的MySQL服務器版本使用附近的'詞「的 正確的語法手冊, ‘定義’價值 (‘猴子’,‘猴子’)」在1號線

有任何想法嗎?我很難過。

+0

如何在數據庫中設置表格?可能是字段值錯誤 – Phil 2011-02-05 19:26:01

+2

如果這是一個反覆出現的問題,請學會使用錯誤消息:「正確語法使用near:」的第一個字符是解析器停止的地方,因爲您做錯了什麼。這是一個單引號,應該告訴你,單引號是錯誤的。 – 2011-02-05 19:28:47

回答

6

您需要使用反引號的字段名稱:

INSERT INTO dictionary (`word`, `definition`) 

(。或者,當然,不包括引號都不過是better to have them

0

Yeh從列定義中刪除引號。你只需要他們在你插入的字符串周圍。

0

當引用列名的INSERT,你應該使用反引號(`)不是單引號。 (單引號告訴MySQL這些值是字符串而不是列引用)。

刪除單引號或使用反引號,問題應該自行解決。

0

改變周圍的單詞和字典的單引號反引號:

INSERT INTO dictionary (`word`, `definition`) VALUES ('monkey','monkey'); 
0

正確的方法:

mysql_query("INSERT INTO `dictionary` (`word`, `definition`) VALUES ('".$word."','".$definition."');") 

這將是輸出中,因爲這:

INSERT INTO `dictionary` (`word`, `definition`) VALUES ('monkey','monkey'); 
0
mysql_query("INSERT INTO dictionary (`word`, `definition`) VALUES ('".$word."','".$definition."');") 

注撇號。字段名稱不應該使用撇號,或者使用這裏顯示的名稱。

0

如果這是行不通的:

mysql_query("INSERT INTO dictionary (word,definition) VALUES ('".$word."','".$definition."')"); 

,那麼你有問題,字段名...看看你的名字在表...或者你失去了一些東西!你的桌子是什麼樣子?