PHP.mk документација

db2_next_result

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.db2-next-result.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека function.db2-next-result.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
db2_next_result

Референца за `function.db2-next-result.php` со подобрена типографија и навигација.

function.db2-next-result.php

db2_next_result

("PECL ibm_db2" >= 1.0.0)

db2_next_result Бара следната група на резултати од зачувана процедура

= NULL

function db2_next_result(resource $stmt): resource|false

Бара следната група на резултати од складирана процедура db2_next_result() Складирана процедура може да врати нула или повеќе групи на резултати. Додека ја обработувате првата група на резултати на ист начин како што би ги обработувале резултатите вратени од едноставна SELECT изјава, за да ги добиете втората и следните групи на резултати од складирана процедура мора да ја повикате

Параметри

stmt
Подготвена изјава вратена од db2_exec() or db2_execute().

Вратени вредности

функцијата и да го вратите резултатот на уникатно именувана PHP променлива. false Враќа нов ресурс на изјава што содржи следната група на резултати ако складираната процедура вратила друга група на резултати. Враќа

Примери

ако складираната процедура не вратила друга група на резултати.

Пример #1 Повикување на складирана процедура што враќа повеќе групи на резултати db2_next_result() function.

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

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

print
"Fetching first result set\n";
while (
$row = db2_fetch_array($stmt)) {
var_dump($row);
}

print
"\nFetching second result set\n";
$res = db2_next_result($stmt);
if (
$res) {
while (
$row = db2_fetch_array($res)) {
var_dump($row);
}
}

print
"\nFetching third result set\n";
$res2 = db2_next_result($stmt);
if (
$res2) {
while (
$row = db2_fetch_array($res2)) {
var_dump($row);
}
}

db2_close($conn);
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Fetching first result set
array(2) {
  [0]=>
  string(16) "Bubbles         "
  [1]=>
  int(3)
}
array(2) {
  [0]=>
  string(16) "Gizmo           "
  [1]=>
  int(4)
}

Fetching second result set
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"
}

Fetching third result set
array(1) {
  [0]=>
  string(16) "Bubbles         "
}
array(1) {
  [0]=>
  string(16) "Gizmo           "
}

Белешки од корисници 1 белешка

Во следниот пример, повикуваме складирана процедура што враќа три групи на резултати. Првата група на резултати се добива директно од истиот ресурс на изјава на кој го повикавме CALL изјавата, додека втората и третата група на резултати се добиваат од ресурсите на изјави вратени од нашите повици на
пред 17 години
Some not so obvious but imported notes:

1) You must always use the original statement return when fetching the next result set.
2) You can not remove a reference to a previous result set if you wish to access another result set.

----------------WILL NOT WORK-------------------------
<?php
$originalStatementReturn = db2_exec($conn, 'CALL multiResults()');

$firstResultHolder = db2_next_result($originalStatementReturn);

$secondResultHolder = db2_next_result($firstResultHolder);

if ($secondResultHolder) {
  while ($row = db2_fetch_array($secondResultHolder)) {
     print_r($row);
  }
}
?>
-----------------------------------------------------------------

----------------WILL NOT WORK-------------------------
<?php
$originalStatementReturn = db2_exec($conn, 'CALL multiResults()');

$resultHolder = db2_next_result($originalStatementReturn);

$resultHolder = db2_next_result($originalStatementReturn);

if ($resultHolder) {
  while ($row = db2_fetch_array($resultHolder)) {
     print_r($row);
  }
}
?>
-----------------------------------------------------------------

----------------WILL WORK--------------------------------
<?php
$originalStatementReturn = db2_exec($conn, 'CALL multiResults()');

$firstResultHolder = db2_next_result($originalStatementReturn);

$secondResultHolder = db2_next_result($originalStatementReturn);

if ($secondResultHolder) {
  while ($row = db2_fetch_array($secondResultHolder)) {
     print_r($row);
  }
}
?>
-----------------------------------------------------------------
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.