1

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

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

为什么它给我这个错误?

4

1 回答 1

3

解决方案很明显:PDO 不理会这样的注释并尝试绑定不存在的变量 ':Z'。您不能在 PDO 的注释中使用参数(除非您绑定它们)。

在评论中使用问号也有类似的错误。

于 2012-07-10T14:17:44.280 回答