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

Hik*_*ari 2 php postgresql prepared-statement

我正在使用以下查询:

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

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

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

$result 返回假。

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

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

Den*_*rdy 5

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