2015-10-14 57 views
-1

我不知道哪裏是在這個語法錯誤與更新statment語法錯誤

$sql = "UPDATE $table SET question='$question', answer='$answer', name='$nwbad' WHERE id='$id'"; 

我不工作,我已經印後

更新社交SET問題= 「上帝選擇了阿拉伯半島搖籃信:伊斯蘭教,答案=「從衝突遠」,名字=「功能沒有添加,更新:艾哈邁德·納扎爾」 WHERE ID =「1」或

什麼是或?! 它有時讓我發現,在「WHERE ID =‘1’」

+0

值只用單引號encapsulted參數,「未添加功能」中的數據有一個單引號,從而打破了SQL。正如@Harshit所指出的,使用預準備語句/ PDO,以避免這些各種各樣的問題,更除了 – RamRaider

回答

0

的錯誤似乎是從該行

'Function Wasn't Added 

使用mysqli_real_escape_stringprepared statments錯誤,以避免此錯誤。

+0

它從數據庫retirved並混合與其他數據 '而($行= mysqli_fetch_assoc($ TheName)) { $ ARR =陣列($行[ '名稱'], 「」, 「更新:」,$名); $ nwbad =加入( 「」,$ ARR); }' 行[「名稱」] =功能沒有添加 – Nezoo

0

在PHP端試試這個你是從數據庫中獲取數據後。

$ your_string = 「功能沒有添加。」

回波str_replace函數( 「「」, 「」,$ your_string);

注:這將刪除所有單引號

您可以使用mysql_real_escape_string

+0

刪除單引號是解決不了問題,但用引號將其保存。 – Rohan

+0

然後用這個函數mysql_real_escape_string –

0

你需要將它們添加到您的SQL查詢之前轉義字符串:

UPDATE social 
SET question='اختار الله شبه الجزيره العربيه مهدا الرساله الاسلام', 
answer='لتكون بعيد عن الصراعات', 
name='Function Wasn''t Added , Updated by: احمد نزار' 
WHERE id='1' 

這應該工作,假設通過更新你的字符串的一部分,而不是在你的數據庫中的列。

看到這個:http://php.net/manual/en/mysqli.real-escape-string.php