ORA-01036与oci_bind_by_name

时间:2015-07-31 08:21:24

标签: php oracle

我正在尝试从PHP到Oracle数据库进行SELECT。

这是我做的代码:

 $sql = "SELECT * FROM
        DEV_F.FO_INPUT i,
        DEV_F.FO_MAIN m
        WHERE m.FOM_ID = i.FIN_FATHER
        AND m.FOM_ID = :traceID";

    $stid = oci_parse($this->connexion(), $sql);


    oci_bind_by_name($stid, 'traceID', $this->escapeString($traceID));

    oci_execute($stid);
    oci_fetch_all($stid, $res);

SQLDevelopper中的请求没问题,没有返回错误。但是php返回:

  

oci_bind_by_name():ORA-01036:非法变量名称/编号

我尝试添加单引号,添加分号等......没有任何作用,我非常坚持这里。

任何提示?我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

你需要像这样做,首先使用冒号,但你也不需要转义值,因为绑定会为你处理。

oci_bind_by_name($stid, ':traceID', $traceID);