php – 我可以通过没有bind_param的PDO Prepared语句完全阻止SQL注入吗?

前端之家收集整理的这篇文章主要介绍了php – 我可以通过没有bind_param的PDO Prepared语句完全阻止SQL注入吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我是PDO的新手,对不起,如果你觉得我在问愚蠢的问题.
没有Bind_param的普通和简单的PDO Prepared语句:

$sql = $db->prepare('SELECT * FROM employees WHERE name = ?');
$sql->execute(array($name));
$rows = $sql->fetchAll();

与Bind_param:

$sql->bind_param("s",$name); //s means the database expects a string

我听人说:“保护来自于使用绑定参数,而不是使用预处理语句”.我可以知道什么是绑定参数? Bind_param是绑定参数?如果是,那么没有Bind_param的正常和简单的PDO Prepared语句不能完全阻止sql注入?

最佳答案
你说得对.绑定参数是使用?在“预准备语句”中声明的参数.然后使用execute()绑定它们,并将它们的值作为绑定到语句的参数.

猜你在找的MySQL相关文章