我在使用PDO訪問我的數據庫的php腳本中遇到問題。當我在PDO中使用prepare()
或時,似乎無法使PDO逃離我的字符串。我已經看遍了,我還沒有找到這個問題的答案,因爲無論我看到它說PDO自動逃脫字符串。 這裏是我的代碼:PDO不轉義字符串引號
$statement = $db->prepare("INSERT INTO Table (ID, Column1, Column2) VALUES (NULL, '$var1', '$var2')");
$query->execute();
讓我們承認$var1 = "abc'def"
和$var2 = "123"
的問題是,我得到一個錯誤消息,因爲報價沒有逃脫。
錯誤:SQLSTATE [42000]:語法錯誤或訪問衝突:1064您 在您的SQL語法錯誤;檢查對應於 你的MySQL服務器版本正確的語法使用近「高清」的手冊, 第1行
我使用query()
方法,但用同樣的prpblem還試圖「123」)」報價。 我真的不明白,這很令人沮喪。謝謝你的幫助。
查看[例子](http://ca.php.net/pdo.prepare)。 – netcoder 2012-03-12 20:36:53