Php PDO:无效参数编号:混合命名参数和位置参数-注释中有问号
可能重复:Php PDO:无效参数编号:混合命名参数和位置参数-注释中有问号,php,sql,pdo,Php,Sql,Pdo,可能重复: 今天我遇到了一个我以前从未见过的bug(在PDO中),但是当你想到它的时候,它是很明显的 我得到了以下错误: 警告:PDOStatement::execute()[PDOStatement.execute]:SQLSTATE[HY093]:无效参数编号:混合命名参数和位置参数 我使用的查询类似于以下内容: SELECT x FROM y WHERE -- CHECKING IF X = ? -- x = :y AND 1 = 2 显然,我有
今天我遇到了一个我以前从未见过的bug(在PDO中),但是当你想到它的时候,它是很明显的 我得到了以下错误:
警告:PDOStatement::execute()[PDOStatement.execute]:SQLSTATE[HY093]:无效参数编号:混合命名参数和位置参数
我使用的查询类似于以下内容:
SELECT
x
FROM
y
WHERE
-- CHECKING IF X = ? --
x = :y
AND
1 = 2
显然,我有更多的参数和更长的查询
为什么它会给我这个错误?解决方案是显而易见的:PDO会忽略注释本身,并看到错误?作为位置参数。移除?在你的评论中解决了这个问题
我故意将这两个问题和答案分开。潜在的bug(或特性,无论什么)是相同的,但它导致的错误是不同的。我认为这对搜索结果更好。