2011-03-11 250 views
1

我有一個問題我正在測試我的表在mysql中一切正常,然後我現在刪除它的數據當我嘗試我的PHP腳本運行它給我這個錯誤 你的SQL語法錯誤;檢查對應於您的MySQL服務器版本的手冊,在第1行使用接近「0」的正確語法。 我檢查了我的代碼,看起來一切正常。誰能幫我。謝謝你的SQL語法有錯誤;檢查對應於你的MySQL服務器版本的手冊,在第一行使用接近'0'的正確語法

+5

什麼是實際查詢? – Melllvar 2011-03-11 23:58:46

+0

UPDATE NewsLetter SET Active ='1'WHERE Email ='「。$ email。」'AND Hash ='「。$ hash。」'AND Active ='0' – adlan 2011-03-12 00:34:27

+0

查詢看起來像什麼樣的變量實際代入它? – 2011-03-12 00:50:58

回答

1

我實際上會爲您節省回覆評論的麻煩。

簡而言之,不要這樣做!你似乎沒有對你的輸入變量進行清理,並且這種字符串連接方法讓我相信你正在使用內建的mysql_ *函數。別!

嘗試使用PDO!您的查詢變爲:

$statement_handle = $database->prepare("UPDATE NewsLetter SET Active=1 WHERE Email = ? AND Hash = ?"); 

$statement_handle->execute(array($email, $hash)); 

綁定變量!

+0

使用工具欄上的「{}」圖標將代碼格式化爲「代碼」。 – 2011-03-12 01:00:52

+1

我只是爲了向某人展示一種更好的方式來做某件事,但至少要等到你可以爲他們提供一種解決方案以解決他們原來的情況。 – 2011-03-12 01:04:38

相關問題