#php #db2
#php #db2
Вопрос:
я работаю с DB2 на php и получаю следующую ошибку при выполнении
@$row = db2_fetch_array( $res );
[IBM][CLI Driver] CLI0145E Fetch type out of range. SQLSTATE=HY106 SQLCODE=-99999
Я нашел здесь возможное объяснение, но для меня это не имеет смысла, потому что я не указываю номер строки.
Кто-нибудь может дать какие-нибудь объяснения?
Спасибо!
Ответ №1:
Я полагаю, что вы неправильно поняли предложение, содержащееся на странице, на которую вы ссылались. Это относится не к db2_fetch_array()
функции, а к db2_connect()
function . Чтобы установить для параметра cursor значение DB2_SCROLLABLE
, передайте эту константу в четвертый параметр функции подключения к базе данных:
db2_connect('database', 'username', 'password', DB2_SCROLLABLE);
Если это неправильное решение, возможно, оно отображает эту ошибку, потому что результат содержит 0 строк? Всегда полезно проверить, была ли возвращена хотя бы одна строка перед вызовом db2_fetch_array()
(или связанной функции):
if (db2_num_rows($res) > 0){
@$row = db2_fetch_array( $res );
}