使用命名变量时pg_prepare()失败

时间:2013-10-16 12:52:38

标签: php postgresql prepared-statement

我正在使用以下查询:

$result = pg_prepare($this->getConn(), "querytemp1", "SELECT * FROM tb001_empregado \n WHERE nu_usuario = :matricula");

如果我手动添加nu_usuario值,这是一个有效的查询。但是当执行此代码时,我会收到以下错误:

 Warning: pg_prepare(): Query failed: ERROR: syntax error at or near ":" LINE 2: WHERE nu_usuario = :matricula ^ in ********* on line ***

$result返回false。

知道我可能做错了吗?

编辑:我正在使用Postgres 8.4,也许它仍然不支持命名变量?

2 个答案:

答案 0 :(得分:4)

您需要使用$1$2等。:variable仅适用于PDO / Postgres。

答案 1 :(得分:2)

查看pg_prepare()的手册页。

您必须使用$1$2等参数。