如果我在MySQL 5.3中使用预处理语句,是否还需要使用mysql_escape_string来避免SQL注入攻击?
答案 0 :(得分:3)
PDO应该为您进行逃避/消毒。假设你的意思是:
$db->prepare('SELECT * FROM table WHERE foo = ?');
$db->execute(Array("bar's baz"));
答案 1 :(得分:0)
有点有趣的事情 - 即使你不在MySQL 5.3中使用预处理语句,也不应该使用mysql_escape_string来避免SQL注入攻击。 注意它不是“mysql_prevent_sql_injection()”函数,它是 mysql转义字符串之一。因此,它用于转义字符串。尽管注射可能,你必须逃脱弦乐。然而,除了引用的字符串之外,它对任何查询部分都无济于事。