# db2_next_result

(PECL ibm_db2 >= 1.0.0)

db2_next_result — Solicitar el siguiente resultado de un procedimiento almacendo

### Descripción

db2_next_result(resource `$stmt`): resource

Un procedimiento almacenado puede o no devolver bloques de resultados. El primer resultado devuelto se maneja de la misma manera que se manejan los resultados devueltos por una sentencia SELECT normal, en cambio, para extraer el segundo y los siguientes bloques de un procedimiento almacenado se debe llamar a db2_next_result() y almacenar el resultado en una variable de PHP.

### Parámetros

`stmt`

  Una sentencia preparada devuelta por db2_exec() o db2_execute().

### Valores devueltos

La función devuelve un nuevo recurso de sentencia que contiene el siguiente bloque de resultados si el procedimiento almacenado regresa otro bloque de resultados. La función devuelve `false` si el procedimiento almacenado no regresa otro resultado.

### Ejemplos

Ejemplo #1 Llamando a un procedimiento almacenado que devuelve múltiples resultados

En el siguiente ejemplo, se llama a un procedimiento almacenado que devuelve tres bloques de resultados. El primer resultado se extrae directamente con el mismo recurso de sentencia que invoca a la instrucción CALL, el segundo y el tercer resultado se extraen con un recurso de sentencia devuelto por db2_next_result().

`<?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);
}
?>`

El resultado del ejemplo sería:

    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           "
    }