2011-07-19 206 views
1
mysql_query("INSERT INTO scheduler (from, reply, subject, recipients, message, date) VALUES ('$from_name', '$reply_to', '$subject', '$parsedemail', '$body', '$date')")or die (mysql_error()); 

所有變量都通過PHP發佈。這是錯誤SQL回聲時,它死:這個SQL查詢有什麼問題?

您有一個SQL語法錯誤;請查看與您的MySQL服務器版本對應的手冊,以便在'from,reply,subject,recipients,message,date'附近使用正確的語法)VALUES('First First','First.La'at line 1

這是我的SQL數據庫的結構...

http://img21.imageshack.us/img21/3940/sqlerror.png

我想我已經重拍了它,現在改名了很多東西的時候,它必須是明顯的東西。這很奇怪,我有這個錯誤,因爲我從w3schools得到了示例代碼。任何建議?

+1

立即看起來很奇怪的唯一的東西是在列名的上下文中的保留字FROM ... – Randy

+0

這就是爲什麼我推薦*反對*使用保留字作爲列名。 –

回答

5

from是一個資源精明的單詞,需要用反引號逃脫。

mysql_query("INSERT INTO scheduler (`from`, reply, subject, recipients, message, date) VALUES ('$from_name', '$reply_to', '$subject', '$parsedemail', '$body', '$date')")or die (mysql_error()); 
+0

哇。我完全忽略了這一點。非常感謝。一旦10分鐘後,我會標記爲最佳答案 – abuser757891

+0

嘿,你不需要逃避關鍵字'日期'? – brenjt

+2

@brenjt:'date'和其他幾個例外。請參閱文檔[here](http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html)。 –

1
mysql_query("INSERT INTO scheduler (`from`, reply, subject, recipients, message, `date`) VALUES ('$from_name', '$reply_to', '$subject', '$parsedemail', '$body', '$date')")or die (mysql_error()); 

你需要逃避的關鍵字。