我在使用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