我应该绑定单个数组条目,还是仅使用PDO执行数组

时间:2009-12-16 01:29:18

标签: php pdo sql-injection

我有一个关联数组,其中填充了PDO语句所需的值。我应该绑定每个值然后调用execute吗?或者调用execute传递值数组?

Array(
  [name] => Joe
  [value] => some content
)

我应该:

foreach($data as $key => $value){
  $statement->bindValue($key, $value);
}
execute();

OR

execute($data);

据我所知,绑定数据可以实现某种形式的数据卫生,类似于mysql_real_escape_string。我不确定是否需要绑定值以实现该影响,或者我是否可以将数据数组传递给execute()并假设它已被正确转义?

2 个答案:

答案 0 :(得分:2)

就prepare()而言,您可以以任何方式绑定值。

阅读文档; link text link text

答案 1 :(得分:0)

使用预备声明时无关紧要。

请注意,您的数据不会以任何方式进行清理或转义,而是完全按原样输入数据库。

顺便说一句,Kemo是对的,但this is the more appropriate link使用bind 使用数组