|
|
|
Работа с Informix на PHP через ODBC - проблема!
|
|||
|---|---|---|---|
|
#18+
Исходное положение: На удаленном сервере находится база 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 по теме - ничего подобного не обнаружено. Последняя надежда на вас, уважаемые! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2005, 14:12 |
|
||
|
Работа с Informix на PHP через ODBC - проблема!
|
|||
|---|---|---|---|
|
#18+
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); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 14:33 |
|
||
|
|

start [/forum/topic.php?fid=44&fpage=60&tid=1609047]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
7ms |
get forum data: |
3ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 325ms |

| 0 / 0 |
