使用PHP PDO代替mysql_connect()等有什么安全好处吗?
答案 0 :(得分:3)
甚至不需要bindParam,只需执行
$stmt = $pdoConnection->prepare('SELECT foo FROM bar WHERE baz = :baz');
$stmt->execute(array(':baz' => 1));
foreach ($stmt as $row) {
}
那很容易。
答案 1 :(得分:3)
没有。 PDO与MySQL扩展没有任何安全性好处(Murphy定律教导我们的内容除外)。两者都可以通过转义相同的字符来使输入安全。
然而,PDO还有其他优点:
这些通常被认为是最重要的。
答案 2 :(得分:2)
是的,如果您使用的是bindParam()
方法,而不是使用mysql_real_escape_string()
进行字符串连接。
记住bindParam()
外部数据比记住使用mysql_*
自己逃避每个值更容易。
此外,PDO可以更好地使用。