2010-11-06 155 views
0
$query = "INSERT INTO event (eventDesc) ". 
      "VALUES ('".$eventDesc."') WHERE event = 'Testing'"; 

這句話有什麼問題嗎?SQL插入錯誤

我收到提示說:

您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在第2行'WHERE event ='Testing''附近使用正確的語法。

回答

3

你想使用UPDATE語句來更新現有的值:

$query = sprintf("UPDATE EVENT 
        SET eventDesc = '%s' 
        WHERE event = 'Testing'", 
        mysql_real_escape_string($eventDesc)); 

這是不是你的查詢更安全 - 沒有risk of SQL injection attack

+0

+1:SQL注入警告 – 2010-11-06 21:39:30

1

INSERT查詢中沒有WHERE子句。

+0

如果使用SELECT - IE提供值:'INSERT INTO EVENT SELECT col FROM OTHER_TABLE WHERE ...' – 2010-11-06 21:37:25

+1

這不是INSERT查詢的WHERE子句,它是SELECT查詢中的WHERE子句。 – 2010-11-06 21:38:12

+0

我認爲你(和任何人提出你的評論)需要看看我的例子更接近一點。 – 2010-11-06 21:40:27