为什么PHP PDO不能在一个单独的语句中绑定每个值,为什么PHP PDO不能有一些配置设置来逃避所有输入?
答案 0 :(得分:4)
如果你单独绑定一切,那么你就是在艰难地做事。不。
$dbh = PDO->new(...);
$sth = $dbh->prepare("SELECT foo FROM bar WHERE baz = ?");
$sth->execute(array("this doesn't need to be escaped!"));
...
使用包装函数可以使这更容易:
function dbQuery($sql /* ... */) {
global $dbh;
$args = func_get_args();
array_shift($args);
$sth = $dbh->prepare($sql);
$sth->execute($args);
return $sth;
}
$sth = dbQuery("SELECT foo FROM bar WHERE baz = ? AND qux != ?", "blah", "blah blah");
...