簡體   English   中英

MySQL錯誤1064-但是沒有錯誤?

[英]MySQL Error 1064 - but no misstake?

我不明白這一點:

我將更新一個mysql數據庫。

mysql_query("UPDATE image Set title = '".$ed1."', desc = '".$ed2."', cat = '".$ed3."', privacy = '".$ed4."' WHERE id = '".$id."'");

但它顯示:

錯誤1064

和:

您的SQL語法有誤; 檢查與您的MySQL服務器版本相對應的手冊,以在desc = [...]附近使用正確的語法

編輯:感謝您的答復。 我已經改名了! 現在可以了;)

DESC是SQL中的保留字。 如果要使用它,則需要引用它:

mysql_query("UPDATE `image` Set `title` = '".$ed1."', `desc` = '".$ed2."', `cat` = '".$ed3."', `privacy` = '".$ed4."' WHERE `id` = '".$id."'");

如果可以的話,應盡量避免在字段名稱中使用保留字。 這里有一個列表: http : //dev.mysql.com/doc/refman/5.0/en/reserved-words.html

您還應該考慮從mysql_*函數進行遷移,因為它們已被棄用。 您應該考慮使用PDO或mysqli-它們都可以幫助您編寫更加安全的SQL。

DESCMySQL中保留字 您需要使用反引號將其轉義。 嘗試

UPDATE image Set title = '".$ed1."', `desc` = ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM