oci_bind_by_name()期望参数5为long,给定字符串

时间:2013-05-01 19:03:25

标签: php oracle codeigniter oracle11g

我正在尝试使用codeigniter在oracle中运行存储过程。我将以下内容传递给stored_procedure函数:

$param = array(array("name"=>"v_organisation_id", "value"=>1, "type"=>"OCI_B_INT", "length"=>-1));
    $query = $this->db->stored_procedure("EXECUTE", "GET_ACCOMMODATION", $param);

它返回以下错误:

  

oci_bind_by_name()期望参数5为long,给定字符串

该函数将参数发送到oci_bind_by_name(),如下所示:

oci_bind_by_name($this->stmt_id, $param['name'], $param['value'], $param['length'], $param['type']);

它说$ param ['type']需要很长,而且在PHP文档中它说$ param ['type']需要是int $ type = SQLT_CHR。

我尝试将$ param ['type']放在没有引号的情况下,但它会给出以下错误消息:

  

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

0 个答案:

没有答案