PDO是否需要所有SELECT WHERE查询中的参数?

时间:2012-08-16 09:13:46

标签: php mysql pdo

我正在做最基本的查询......

SELECT `id` FROM `members` WHERE `group` = 'admin';

运行上述查询会生成Error: Invalid parameter number: number of bound variables does not match number of tokens

没有必要准备好陈述,因为没有变量,因此无法注射。

这只是PDO的性质,包含WHERE 的任何查询必须绑定吗?

这是我的实际查询:

$sql = "SELECT `id` FROM `members` WHERE `group` = 'admin';"
foreach ($conn->query($sql) as $row) { ... }

1 个答案:

答案 0 :(得分:3)

当您传递要执行的数组时,会生成此错误,该数组的元素数量与查询中的问号数量不同。零参数是可能的,但您还必须传递一个空数组。