可能重复:
PDO无效参数编号-注释中的参数
今天我遇到了一个我以前从未见过的错误(在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
显然,我有更多的参数和更长的查询。
为什么它会给我这个错误?
解决方案是显而易见的:PDO无视注释,并看到?作为位置参数。正在删除?在您的评论中解决了这个问题。
在注释中使用未绑定参数也有类似的错误。