2016-03-22 3 views
1

Я пытаюсь извлечь массив с помощью PHP, но я получаю ошибку ниже:ORA-00932: несовместимые типы данных: ожидается CHAR получил ARRAY

" 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.

Подсказка для решения этой проблемы?

+1

попытаться найти out output 'myfunarr (array_of_varchar ('a', 'b'))' in php first a затем передать его в запрос в php. –

+0

Можете ли вы опубликовать свой PHP-скрипт и определение функции 'myfunarr'? – MT0

ответ

0
  • сделать функцию, которая получает значение myfunarr(array_of_varchar('a', 'b')) в качестве входных данных и генерирует строку запроса на основе его стоимости

  • вернуть эту строку запроса через функцию

  • Используйте этот вернулся запрос для выполнения SQL через PHP

Например.

Параметр $tab_name передается в функции CreateQuery ($ TAB_NAME)

запросов с использованием этого: "Select $tab_name from dual"

Вернуться этот запрос и иметь в $query = createQuery(myfunarr(array_of_varchar('a', 'b')));

Выполнить эту $query