今天我遇到了一个我从未见过的错误(在PDO中),但是当你想到它时有点明显。
我收到以下错误:
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters
我使用的查询类似于以下内容:
SELECT
x
FROM
y
WHERE
-- CHECKING IF X = ? --
x = :y
AND
1 = 2
显然我有更多的参数和更长的查询。
为什么它会给我这个错误?
答案 0 :(得分:0)
解决方案显而易见:PDO无视评论,并看到了?作为位置参数。删除?在你的评论中解决了这个问题。