2011-03-09 50 views
1

你能幫我弄清楚這條線有什麼問題嗎?PHP/MYSQL語法錯誤

$sql45="UPDATE invite_keys SET use=$num WHERE key=$getkey LIMIT 1 "; 

我做了一些錯誤檢查,並能確定的是,上述行有不正確的語法,我只是無法弄清楚到底是什麼導致它失敗。有人知道嗎?

Output of error: MySQL Query failed with error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'use=1 WHERE key=2598131858 LIMIT 1' at line 1 

謝謝你的幫忙!

回答

4

使用和KEY保留在MySQL的話,必須由反引號中查詢所包圍:

"UPDATE invite_keys SET `use` = $num WHERE `key` = $getkey LIMIT 1" 

看到documentation的保留字列表。

+0

謝謝,馬克!所有固定的,我學到了新東西!非常感謝! – Brandon 2011-03-09 22:07:41

2
$sql45="UPDATE `invite_keys` SET `use`=" . $num . " WHERE `key`=" . $getkey . " LIMIT 1 "; 

重點是 - 總是用``字段的至少...

0

馬克的有關背面答案蜱是正確的。注意在SQL語句和PHP變量中使用關鍵字。這很容易,有時候很誘人。

排除故障時要做的一件好事是回顯您的SQL字符串,以便您可以完整地看到它,這可以給您一個提示。

如果這沒有幫助,請嘗試粘貼到phpmysqladmin或其他mySQL接口中,查看出現了什麼錯誤。有時它比你在網頁上看到的更具解釋性。

+0

謝謝史蒂夫的調試技巧!現在一切正常! – Brandon 2011-03-09 22:08:46