Forum und email

db2_fetch_both

(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

Description

array db2_fetch_both ( resource $stmt [, int $row_number ] )

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().

Liste de paramètres

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 erreur PHP de type warning si le jeu de résultat utilise une curseur d'avancement seul.

Valeurs de retour

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.

Exemples

Example#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

Example#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