(PECL ibm_db2 >= 1.0.0)
db2_next_result — Demande le prochain jeu de résultats de la ressource indiquée
$stmt
)Une procédure d'enregistrement peut retourner aucun ou plusieurs jeux de résultats. Vous devez gérer le premier jeu de résultats de la même manière que vous gérez les résultats retournés par une simple requête SELECT, pour obtenir le second ou les résultats suivants, vous devez appeler la fonction db2_next_result() et retourner le résultat dans une variable PHP.
Retourne une nouvelle ressource contenant le jeu de résultats suivants si
la procédure contenait un jeu de résultats suivant. Retourne FALSE
si la
procédure n'avait plus de jeu de résultats à retourner.
Exemple #1 Exemple avec db2_next_result()
Dans l'exemple suivant, nous appelons une procédure qui retourne trois jeux de résultats. Le premier jeu de résultats est récupéré directement de la même ressource sur laquelle on a invoqué une requête CALL, alors que le deuxième et troisième jeux de résultats sont récupérés des ressources retournées par l'appel de la fonction db2_next_result().
<?php
$conn = db2_connect($database, $user, $password);
if ($conn) {
$stmt = db2_exec($conn, 'CALL multiResults()');
print "Récupération du premier jeu de résultats\n";
while ($row = db2_fetch_array($stmt)) {
var_dump($row);
}
print "\nRécupération du deuxième jeu de résultats\n";
$res = db2_next_result($stmt);
if ($res) {
while ($row = db2_fetch_array($res)) {
var_dump($row);
}
}
print "\nRécupération du troisième jeu de résultats\n";
$res2 = db2_next_result($stmt);
if ($res2) {
while ($row = db2_fetch_array($res2)) {
var_dump($row);
}
}
db2_close($conn);
}
?>
L'exemple ci-dessus va afficher :
Récupération du premier jeu de résultats array(2) { [0]=> string(16) "Bubbles " [1]=> int(3) } array(2) { [0]=> string(16) "Gizmo " [1]=> int(4) } Récupération du deuxième jeu de résultats array(4) { [0]=> string(16) "Sweater " [1]=> int(6) [2]=> string(5) "lama" [3]=> string(6) "150.00" } array(4) { [0]=> string(16) "Smarty " [1]=> int(2) [2]=> string(5) "cheval" [3]=> string(6) "350.00" } Récupération du troisième jeu de résultats array(1) { [0]=> string(16) "Bubbles " } array(1) { [0]=> string(16) "Gizmo " }