与其在单独的语句中绑定每个值,为什么PHP PDO不能有一些配置设置来转义所有输入?
如果您单独绑定所有内容,那么您正在以困难的方式进行操作。没有。
$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");
...