今天我遇到了一个我从未见过的错误(在PDO中),但是当你想到它时有点明显。
我收到以下错误:
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number:
我使用的查询类似于以下内容:
SELECT
x
FROM
y
WHERE
-- CHECKING IF X = :Z --
x = :y
AND
1 = 2
显然我有更多的参数和更长的查询。
为什么它会给我这个错误?
答案 0 :(得分:3)
解决方案显而易见:PDO忽略评论,并试图绑定不存在的变量':Z'。您不能在PDO中的注释中使用参数(除非您绑定它们)。