(PECL ibm_db2 >= 1.0.1)
db2_fetch_array — Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats
$stmt
[, int $row_number
= -1
] )Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats. Les indices du tableau sont numériques et commencent par zéro.
stmt
Une ressource stmt valide contenant le jeu de résultats.
row_number
Demande une ligne spécifique indexée numériquement qui commence par la valeur 1 au jeu de résultat. En fournissant ce paramètre, vous obtiendrez une alerte PHP si le jeu de résultat utilise une curseur d'avancement seul.
Retourne un tableau à indices numériques commençant à 0 indexé avec la position des
colonnes. Cet indice pointe vers des données de la ligne suivante
ou la ligne demandée dans le jeu de résultats. Retourne FALSE
s'il n'y a pas de ligne disponible dans le jeu de résultats ou si
la ligne demandée par row_number
n'existe
pas dans le jeu de résultats.
Exemple #1 Itère avec un curseur d'avancement seul
Si vous appelez db2_fetch_array() sans le numéro d'une ligne spécifique, la ligne suivante sera automatiquement récupérée dans le jeu de résultats.
<?php
$sql = "SELECT id, nom, race, poids FROM animaux ORDER BY race";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);
while ($row = db2_fetch_array($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row[1], $row[2], $row[3]);
}
?>
L'exemple ci-dessus va afficher :
0 Pook chat 3.20 5 Rickety Ride chèvre 9.70 2 Smarty cheval 350.00
Exemple #2 Récupération de lignes spécifiques avec db2_fetch_array() provenant d'un curseur flottant
Si votre jeu de résultats utilise un curseur flottant, vous pouvez appeler la fonction db2_fetch_array() avec une numéro de ligne spécifique. L'exemple suivant récupère chaque ligne paire dans le jeu de résultats, commençant avec la deuxième ligne.
<?php
$sql = "SELECT id, nom, race, poids FROM animaux ORDER BY race";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));
$i=2;
while ($row = db2_fetch_array($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row[1], $row[2], $row[3]);
$i = $i + 2;
}
?>
L'exemple ci-dessus va afficher :
0 Pook chat 3.20 5 Rickety Ride chèvre 9.70 2 Smarty cheval 350.00