我正在做最基本的查询......
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) { ... }
答案 0 :(得分:3)
当您传递要执行的数组时,会生成此错误,该数组的元素数量与查询中的问号数量不同。零参数是可能的,但您还必须传递一个空数组。