选择php和oracle中的param

时间:2018-04-13 16:21:16

标签: php oracle select

我正在通过PHP和Oracle进行选择,当我得到参数时会发生错误:

  

警告:oci_execute():ORA-00911:第52行的C:\ xampp \ htdocs \ projeto \ includes \ Read.php中的无效字符警告:oci_fetch_array():ORA-24374:在获取或执行之前定义未完成并在线上获取C:\ xampp \ htdocs \ projeto \ index.php

如果我传递直接参数正常工作,作为注释行,它可以工作。

public function readAnexos($CDLICITACAO) {

    try {
        //$id = '012103';
        $id = $CDLICITACAO;

        $sql_query = "SELECT * FROM TBLICITCAO WHERE CDLICITACAO = $id";
        $stid = oci_parse($this->db, $sql_query);

        oci_execute($stid);
        return $stid;

    } catch (Exception $e) {
        echo $e->getMessage() . "<br>Error na linha:  ";
        echo "<b>" . $e->getTraceAsString()."</b>";
        parent::fechar();
    }
}

1 个答案:

答案 0 :(得分:1)

使用绑定变量非常重要。这是为了安全和性能。

至少尝试:

$sql_query = "SELECT * FROM TBLICITCAO WHERE CDLICITACAO = :id";
$stid = oci_parse($this->db, $sql_query);
oci_bind_by_name($stid, ":id", $CDLICITACAO);
oci_execute($stid);