powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Работа с Informix на PHP через ODBC - проблема!
2 сообщений из 2, страница 1 из 1
Работа с Informix на PHP через ODBC - проблема!
    #33043965
ManHunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исходное положение:
На удаленном сервере находится база Informix, на локалхосте на PHP (машина под управлением Windows) пишу движок web-интерфейса для биллинга.
Подключение к базе происходит без проблем, запросы типа odbc_exeс ($connection, "SELECT * FROM blablabla") выполняются, результаты возвращаются корректные.

Проблема:
Почему не получается узнать результат выполнения процедуры на сервере?

$sql_res=odbc_query($connection, "execute procedure ququ(...)");

возвращает Resource id #3 (или типа того). Обращения к этому ресурсу через odbc_fetch_array($sql_res) возвращают пустоту. Процедура на сервере выполняется нормально. Но как средствами PHP получить в доступном виде то, что она возвращает?

И еще более интересно, если во время выполнения stored procedure возникает exception - как узнать что произошел exception, и какой именно...

Выполнено:
[x] RTFM по работе на PHP с ODBC - вдоль и поперек.
[x] STFW по теме - ничего подобного не обнаружено.

Последняя надежда на вас, уважаемые!
...
Рейтинг: 0 / 0
Работа с Informix на PHP через ODBC - проблема!
    #33046239
Ilya Kulagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ManHunterОбращения к этому ресурсу через odbc_fetch_array($sql_res) возвращают пустоту.

Именно с php->odbc->informix не работал (у меня вебинтерфейс на солярке, там "родной" php-модуль собран и трудится), но вот для perl->odbc->informix сталкивался. Проблемы были в том, что результаты выполнения SP выдаются в виде неименованного dataset-а. Отчего преобразование их в хеш (он же в php назван массивом) вида [имя поля]=>[значение] фатально не работает.

Для "родного" php-модуля пришлось изгаляться, возвращая преобразованные в строки значения последовательно и потом "склеивая" их вот такого типа конструкцией (кусок работающего кода. Серверы 7.32-9.21):

$id=0;
if ($rid=ifx_query("execute procedure getaccounts('$sid')",$cconn)) {
while ($row=ifx_fetch_row ($rid,'NEXT')) {
$bacc[$id]=array_shift($row);
$tacc[$id]=array_shift($row);
$id++;
}
ifx_free_result($rid);
}
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Работа с Informix на PHP через ODBC - проблема!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]