Php 总是绑定我们的SQL语句吗?

Php 总是绑定我们的SQL语句吗?,php,sql,pdo,Php,Sql,Pdo,我一直在研究PDO的bindValue()。我知道用PDO准备SQL语句可以防止SQL注入的发生 $stmt = $dbh->prepare('SELECT * FROM articles WHERE id = :id AND title = :title'); $stmt->bindValue(':id', PDO::PARAM_INT); $stmt->bindValue(':title', PDO::PARAM_STR); $stmt->execute(); 通过

我一直在研究PDO的bindValue()。我知道用PDO准备SQL语句可以防止SQL注入的发生

$stmt = $dbh->prepare('SELECT * FROM articles WHERE id = :id AND title = :title');
$stmt->bindValue(':id', PDO::PARAM_INT);
$stmt->bindValue(':title', PDO::PARAM_STR);
$stmt->execute();
通过将ID绑定为一个数字,并且标题是一个字符串,我们可以限制当有人试图在代码中执行SQL注入时所造成的损害


我们是否应该始终使用PDO::PARAM_uu绑定我们的值,以便限制在SQL注入中从数据库中提取的内容?在执行bindValue()时,这会增加PDO的安全性吗?

这些类型更多的是为了防止您在膝盖上开枪,而不是为了安全。您的
bindValue
示例可能是错误的