2012-12-30 76 views
-1

執行查詢時,我總是得到這個錯誤的手冊:mysql錯誤您的SQL語法有錯誤;檢查對應於你的MySQL服務器版本的權利

您的SQL語法錯誤;檢查對應於你的MySQL服務器版本在線路附近使用「讀= 1,其中user_id_sender = 1 AND user_id_receiver = 33或user_id_sender」正確的語法手冊1

這是我的查詢:

mysql_query("UPDATE messages SET read =1 WHERE user_id_sender = $user_id AND user_id_receiver = $user_id_partner AND read = 0 OR user_id_sender = $user_id_partner AND user_id_receiver = $user_id AND read = 0 ") or die (mysql_error()); 

table(messages)有這些列:

message_id(INT)(AI) 
user_id_sender(INT) 
user_id_receiver(INT) 
message(TEXT) 
read(INT) 

我真的不知道爲什麼這樣做,我已經看過網絡,但我似乎無法找到我確切的問題的答案。也許有人可以幫助我。

回答

8

READreserved word

總是圍數據庫,表和列名在反引號,以防止這種衝突:

UPDATE `messages` SET `read`=1 WHERE `user_id_sender`=$user_id AND... 
+1

可能是一個好主意,以避免使用保留字作爲列名。 –

+0

@RayPaseur爲什麼,當它作爲一個名稱是有意義的? –

+0

謝謝!它解決了這個問題。我會牢記這一點。 –

相關問題