(PECL ibm_db2:1.0-1.6.2)
db2_fetch_both — Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats
Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats. Notez que la ligne retournée par db2_fetch_both() nécessite plus de mémoire que les tableaux simplement indexés retournés par db2_fetch_assoc() ou db2_fetch_array().
Une ressource stmt valide contenant le jeu de résultats.
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 et le numéro des colonnes commençant par 0. Le tableau représente la ligne suivante ou la ligne demandée du 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_both() sans le numéro d'une ligne spécifique, la ligne suivante sera automatiquement récupérée par le jeu de résultats. L'exemple suivant accède aux colonnes retournées dans le tableau avec la méthode des noms de colonne et par indice numérique.
<?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_both($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row['ID'], $row[0], $row['RACE'], $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_both() provenant d'un curseur flottant
Si votre jeu de résultats utilise un curseur flottant, vous pouvez appeler la fonction db2_fetch_assoc() 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_both($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row['NOM'], $row[2], $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