无法在PHP中读取Varray / Nested表和自定义类型(Codeigniter)

时间:2016-06-08 12:21:14

标签: php oracle codeigniter oracle12c oci8

每次我尝试对具有自定义类型/嵌套表的字段执行select查询时,如下所示:

create or replace type phone_list_type as VARRAY(3) of varchar(30);
create or replace type Email_list_type as VARRAY(3) of varchar(30);

表用户:

create table USERS
(
  USER_ID              INT GENERATED BY DEFAULT ON NULL AS IDENTITY,
  USER_NAME            VARCHAR2(20)         not null,
  USER_PASSWORD        VARCHAR2(200)        not null,
  USER_CREATIONDATE    DATE                 default sysdate,
  USER_EMAIL           Email_list_type,
  USER_PHONE           phone_list_type,
  constraint PK_USERS primary key (USER_ID)
);

我收到以下错误:

  

遇到PHP错误

     

严重性:警告

     

消息:oci_fetch_object():ORA-00932:不一致的数据类型:   预计CHAR得到ARRAY

     

文件名:oci8 / oci8_result.php

这是我的模型,控制器只是用模型数据加载视图。

    function users_list_all()
  {
      $this->db->select('USER_ID,USER_NAME,USER_PASSWORD,USER_CREATIONDATE,USER_EMAIL,USER_PHONE');
      $result = $this->db->get('USERS');
      return $result->result();
  }

与嵌套表相同,但是:预期CHAR得到TABLE,即使类型只有2个像这样的varchars:

create or replace type coordinates_type as OBJECT(
latitude varchar(20),
longitude varchar(20));

我在XAMPP中使用Oracle Database 12c和PHP 5.6.21版。

0 个答案:

没有答案