PDO参数号无效 - 注释中的参数

时间:2012-07-10 14:17:43

标签: php sql pdo

今天我遇到了一个我从未见过的错误(在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

显然我有更多的参数和更长的查询。

为什么它会给我这个错误?

1 个答案:

答案 0 :(得分:3)

解决方案显而易见:PDO忽略评论,并试图绑定不存在的变量':Z'。您不能在PDO中的注释中使用参数(除非您绑定它们)。

There's a similar bug using question marks in comments.