我剛剛得知我有magic_quotes_gpc(很讓我懊惱)。我把它關掉了。mysqli_real_escape_string不能正常工作
我的數據庫連接在此查詢之前完成。我有以下內容:
$subject = mysqli_real_escape_string($link, $_POST["subject"]);
$body = mysqli_real_escape_string($link, $_POST["body"]);
$id = mysqli_real_escape_string($link, $_POST["id"]);
mysqli_query($link, "UPDATE press SET press_title = '$subject', press_release = '$body' WHERE press_id = '$id'") or die(mysqli_error($link));
用魔術引號,這工作正常。一旦我關閉它,單引號就會干擾作品(在報價處出現MySQL語法錯誤)。我以爲我理解了這個概念,但我一定錯過了一些東西。有人能解釋我做錯了什麼嗎?
UPDATE
錯誤吐出由MySQL: 你有你的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的正確語法手冊的她說了什麼「,在1號線
更新#2 這裏的回顯查詢:
UPDATE press SET press_title = \'That\'s what she said\', press_release = \'That\'s what she said again!\' WHERE press_id = \'513\'
有什麼語法錯誤? –
同時顯示最終的SQL查詢字符串。 – mario
@ThorpeObazee我更新了我原來的帖子。 – thebarless