db2_next_result

(PECL ibm_db2 >= 1.0.0)

db2_next_resultЗапрашивает следующий набор результатов из хранимой процедуры

Описание

db2_next_result(resource$stmt): resource|false

Хранимая процедура может возвращать ноль или более наборов результатов. Хотя вы обрабатываете первый набор результатов точно так же, как и результаты, возвращаемые простым оператором SELECT, для получения второго и последующих наборов результатов из хранимой процедуры вы должны вызвать функцию db2_next_result() и вернуть результат в переменную PHP с уникальным именем.

Список параметров

stmt

Подготовленный оператор, возвращаемый функцией db2_exec() или db2_execute().

Возвращаемые значения

Возвращает новый ресурс оператора, содержащий следующий набор результатов, если хранимая процедура вернула другой набор результатов. Возвращает false, если хранимая процедура не вернула другой набор результатов.

Примеры

Пример #1 Вызов хранимой процедуры, возвращающей несколько наборов результатов

В следующем примере вызывается хранимая процедура, которая возвращает три набора результатов. Первый набор результатов извлекается непосредственно из того же ресурса операторов, для которого вызывается оператор CALL, а второй и третий наборы результатов извлекаются из ресурсов операторов, возвращаемых вызовами функции db2_next_result().

<?php
$conn
= db2_connect($database, $user, $password);

if (
$conn) {
$stmt = db2_exec($conn, 'CALL multiResults()');

print
"Получение первого набора результатов\n";
while (
$row = db2_fetch_array($stmt)) {
var_dump($row);
}

print
"\nПолучение второго набора результатов\n";
$res = db2_next_result($stmt);
if (
$res) {
while (
$row = db2_fetch_array($res)) {
var_dump($row);
}
}

print
"\nПолучение третьего набора результатов\n";
$res2 = db2_next_result($stmt);
if (
$res2) {
while (
$row = db2_fetch_array($res2)) {
var_dump($row);
}
}

db2_close($conn);
}
?>

Результат выполнения приведённого примера:

Получение первого набора результатов array(2) { [0]=> string(16) "Bubbles " [1]=> int(3) } array(2) { [0]=> string(16) "Gizmo " [1]=> int(4) } Получение второго набора результатов array(4) { [0]=> string(16) "Sweater " [1]=> int(6) [2]=> string(5) "llama" [3]=> string(6) "150.00" } array(4) { [0]=> string(16) "Smarty " [1]=> int(2) [2]=> string(5) "horse" [3]=> string(6) "350.00" } Получение третьего набора результатов array(1) { [0]=> string(16) "Bubbles " } array(1) { [0]=> string(16) "Gizmo " }
To Top