(PECL ibm_db2 >= 1.0.0)
db2_fetch_assoc — Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats
$stmt
[, int $row_number
= -1
] )Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats.
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 associatif avec les valeurs des colonnes indexées par
le nom des colonnes représentant 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_assoc() 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_assoc($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row['ID'], $row['NOM'], $row['RACE'], $row['POIDS']);
}
?>
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_assoc() provenant d'un curseur flottant
Si votre jeu de résultats utilise un curseur flottant, vous pouvez appeler la fonction db2_fetch_assoc() avec un 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_assoc($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row['ID'], $row['NOM'], $row['RACE'], $row['POIDS']);
$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