2012-04-20 60 views
1

我嘗試過所有單引號,雙引號等組合,但以下代碼不斷出現sql語法錯誤。 en和cy是文本的段落。我想我一定會錯過一些明顯的東西,但我無法看到它。有什麼建議麼?轉義正在插入到Mysql中的字符串

$insert_dana = mysql_query("UPDATE Contributor (Summary_en,Summary_cy) VALUES ('" . mysql_real_escape_string($insert[en][0]) . "','" . mysql_real_escape_string($insert[cy][0]) . "') WHERE id='$insert[id]'"); 
+0

發佈精確的語法錯誤請 – Hajo 2012-04-20 12:19:22

回答

2

你混合insertupdate語句的語法。利用這一

$insert_dana = mysql_query("UPDATE Contributor set Summary_en = '" . mysql_real_escape_string($insert[en][0]) . "', Summary_cy = '" . mysql_real_escape_string($insert[cy][0]) . "' WHERE id='$insert[id]'"); 
1

你混淆the UPDATE-the INSERT-語法。對於UPDATE,就像:

UPDATE 
    table 
SET 
    field = 'value' 
WHERE 
    ... 

而一個INSERT樣子:

INSERT INTO 
    table 
    (field) 
VALUES 
    ('value') 

你不能(field) VALUES ('value') -syntax寫UPDATE

+0

是的,我是一個木偶,查詢最初是一個插入,所以我只是改變了一下它。有點生鏽,沒有超過12個月。謝謝 – 2012-04-20 12:59:10