编辑:事实证明,我一直在咆哮错误的树 说话。我编辑了这个问题,使其至少对其他人有用 谁得到错误。
对于尝试执行准备好的PDO查询时遇到以下错误的所有人:
警告:PDOStatement :: execute()[pdostatement.execute]: SQLSTATE [HY093]:参数号无效:未定义参数 在第26行
请参阅下面的答案。
答案 0 :(得分:1)
答案 1 :(得分:1)
这意味着您在$query->execture($array)
中传递的数组值比查询中的:values
多。如果您收到类似但措辞不同的错误,则表示查询中的:values
比您在数组中的数量多$array = array(
'username' => 'Bob',
'id' => 42,
);
//...
$query = "SELECT * FROM `users` WHERE `id`=:id";
//...
$data->execute($array);
。例如:
{{1}}
这会产生错误,因为虽然您传递的是“用户名”,但它从未在查询中使用过。希望这有助于某人!