2012-01-10 12 views
-1

遞減MySQL錯誤我使用Update videos Set views = views + 1 Where video_id='$id',但MySQL的給我回錯誤1064:1064使用

您的SQL語法錯誤;檢查手冊中 對應於你的MySQL服務器版本正確的語法使用 接近「8」在1號線

什麼原因呢?

+0

列「視圖」的數據類型是什麼? – 2012-01-10 01:43:40

+0

你的'video_id'列是什麼數據類型?您是否在將'$ id'連接到它以查看它是否正確之後嘗試回顯或打印語句?看起來你錯過了字符串列的引號,但是你沒有提供足夠的信息來確認。 (另外,在你的文章或者你的代碼中沒有「遞減」;你通過增加**來增加**列值。) – 2012-01-10 01:47:21

回答

2

最有可能的$ id是不是你所期望的。我想,通過即將到來的查詢看起來像

update videos set view = views + 1 where video='' 8''; 

注:這些都是對的8

兩側的兩個單引號爲了證實這一點,你有幾個選項。

  • 打開一般查詢日誌記錄,如從MySQL命令提示運行

    組general_log_file = '/ TMP/mysql.log' 超級用戶(root); set general_log ='on';

現在被髮送到MySQL將在/tmp/mysql.log顯示出來(注意,這可能會快速增長非常大的,所以不要把它留在你完成調試後)每一個查詢。

  • 應用程序日誌

你有什麼樣的日誌框架的工作怎麼回事?在實際調用執行查詢之前,請記錄($ id)的值。對於窮人的日誌記錄,您可以執行如下操作:

file_put_contents('/ tmp/debug.txt',date(「Ymd H:i:s」)。「id is [$ id] \ n」,FILE_APPEND) ;