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


pg_prepare() failing when named variables are used

我使用以下查询:

$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返回假。

知道我可能做错了什么吗?

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

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

检查手册页以获取pg_prepare()

你必须使用$1$2等作为参数。