CLI0145E db2_fetch_array - PullRequest
       1

CLI0145E db2_fetch_array

0 голосов
/ 11 апреля 2011

Я работаю с DB2 в php и получаю следующую ошибку при выполнении

@$row = db2_fetch_array( $res );
[IBM][CLI Driver] CLI0145E Fetch type out of range. SQLSTATE=HY106 SQLCODE=-99999

Я нашел здесь возможное объяснение, но оно не имеет смысла для меня, потому что я не указываю номер строки.

Кто-нибудь может дать некоторые объяснения?

Спасибо!

1 Ответ

0 голосов
/ 11 апреля 2011

Я полагаю, что вы неправильно поняли предложение, содержащееся на странице , на которую вы ссылались . Это относится не к функции db2_fetch_array(), а к функции db2_connect(). Чтобы установить для курсора значение DB2_SCROLLABLE, передайте эту константу в четвертый параметр функции подключения к базе данных:

db2_connect('database', 'username', 'password', DB2_SCROLLABLE);

Если это не правильное решение, возможно, оно отображает эту ошибку, потому что результат содержит 0 строк? Всегда полезно проверить, чтобы перед вызовом db2_fetch_array() (или связанной с ней функции) была возвращена хотя бы одна строка:

if (db2_num_rows($res) > 0){
  @$row = db2_fetch_array( $res );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...