【问题标题】:ORA-00932: inconsistent datatypes: expected CHAR got ARRAYORA-00932: 不一致的数据类型: 预期的 CHAR 得到了 ARRAY
【发布时间】:2016-07-09 21:23:25
【问题描述】:

我正在尝试通过 PHP 获取数组,但收到以下错误:

" Warning: oci_fetch_array(): ORA-00932: inconsistent datatypes: 
 expected CHAR got ARRAY in  test.php".

我希望使用任何可用的收集方法在我的程序中提供 VARRAY 列。该查询在 Toad 上运行良好,但在 PHP 上却不行。

Query : SELECT myfunarr(array_of_varchar('a', 'b')) FROM DUAL

array_of_varchar 是我收藏的 VARRAY。

有解决此问题的提示吗?

【问题讨论】:

  • 先尝试在php中找出myfunarr(array_of_varchar('a', 'b'))的输出,然后将其传递给php中的查询。
  • 你能发布你的PHP脚本和myfunarr函数的定义吗?

标签: php oracle types ora-00932


【解决方案1】:
  • 制作一个函数,获取myfunarr(array_of_varchar('a', 'b'))的值作为输入,并根据其值生成查询字符串

  • 通过函数返回这个查询字符串

  • 使用此返回的查询通过 PHP 执行 SQL

例如

参数是$tab_name函数createQuery($tab_name)传入的

使用此查询:"Select $tab_name from dual"

返回此查询并输入$query = createQuery(myfunarr(array_of_varchar('a', 'b')));

执行这个$query

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-28
    • 1970-01-01
    • 2011-06-03
    • 2017-02-28
    • 1970-01-01
    • 2020-12-13
    • 2013-05-31
    相关资源
    最近更新 更多