今天,我遇到了一个以前从未见过的错误(在PDO中),但是当您考虑一下时,它是显而易见的。
我收到以下错误: Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number:
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number:
我使用的查询类似于以下内容:
SELECT x FROM y WHERE -- CHECKING IF X = :Z -- x = :y AND 1 = 2
显然,我有更多的参数和更长的查询。
为什么会给我这个错误?
解决方案是显而易见的:PDO不理会注释,而是尝试绑定不存在的变量’:Z’。您不能在PDO的注释中使用参数(除非您绑定它们)。