2013-02-21 80 views
0

我正在創建一個網站,我在更新頁面時遇到了一些麻煩。該頁面更新現有的帖子。我的SQL表格不會更新

這裏是一個失敗的代碼:

$result = mysql_query("UPDATE php_blog SET timestamp='$timestamp', 
title='$title', entry='$entry', WHERE id='$id' LIMIT 1") or die(mysql_error()); 

當我按我的窗體上的「更新」按鈕,我得到這個SQL消息:

您的SQL語法錯誤;檢查對應於你的MySQL服務器版本正確的語法使用近「WHERE ID =」 9' LIMIT 1' 在行1

,但我不知道這意味着什麼手冊。我查過那個地方,但找不到任何錯誤...幫助?謝謝

+2

你有一個額外的逗號 - 在WHERE之前刪除逗號。 – sgeddes 2013-02-21 18:29:38

+0

WHERE id = 9把這個 – 2013-02-21 18:30:00

+1

請考慮使用準備好的語句。 – bernie 2013-02-21 18:30:26

回答

2

您的WHERE語句之前有一個額外的逗號。你的SQL應該是這樣的:

UPDATE php_blog 
SET timestamp='$timestamp', title='$title', entry='$entry' 
WHERE id='$id' LIMIT 1 

請注意,mysql_功能已經棄用:

http://php.net/manual/en/function.mysql-query.php

+0

謝謝隊友:)工作:D – Hackermaan 2013-02-21 18:43:05

+0

@ user2096683 - 沒問題,很高興我們可以幫助:) – sgeddes 2013-02-21 18:44:19

1

WHERE之前刪除逗號:

$result = mysql_query("UPDATE php_blog SET timestamp='$timestamp', 
    title='$title', 
    entry='$entry' WHERE id='$id' LIMIT 1") 
    or die(mysql_error()); 
+0

哇!謝謝你:)工作:D愛你! – Hackermaan 2013-02-21 18:42:49

0

之前刪除逗號WHERE這樣子句

$result = mysql_query("UPDATE php_blog SET timestamp='$timestamp', title='$title',entry='$entry' WHERE id='$id' LIMIT 1") or die(mysql_error()); 
0

的問題你的答案:前WHERE

刪除逗號不過你很幸運,你有這個問題,並張貼在這裏。你的代碼非常脆弱,你應該學會如何使用預準備語句。

也谷歌「SQL注入」瞭解問題。