(PECL ibm_db2 >= 1.0.0)
db2_fetch_object — Retourne un objet avec les propriétés représentant des colonnes dans la ligne extraite
Retourne un objet dans lequel chaque propriété représente une colonne retournée dans la ligne extraite du jeu de résultats.
stmtstmt valide contenant le jeu de résultats.
row_numberRetourne un objet représentant une seule ligne dans le jeu de résultats. Les propriétés de l'objet correspondent au nom des colonnes dans le jeu de résultats.
Les serveurs IBM DB2, Cloudscape et Apache Derby mettent normalement les noms des colonnes en majuscules, par conséquent, les propriétés de l'objet refléteront cette casse.
Si la requête SELECT appelle une fonction scalaire pour modifier la valeur d'une colonne, les serveurs de base de données retournent le numéro de colonne en tant que nom de colonne dans le jeu de résultats. Si l'on préfère un nom de colonne et une propriété d'objet plus descriptifs, il est possible d'utiliser la clause AS pour assigner un nom à la colonne dans le jeu de résultats.
Retourne false si aucune ligne n'a été récupérée.
Exemple #1 Exemple avec db2_fetch_object()
L'exemple suivant envoie une requête SELECT avec une fonction scalaire, RTRIM, qui supprime les espaces à partir de la fin de la colonne. Au lieu de créer un objet avec les propriétés "RACE" et "2", la clause AS est utilisée dans la requête SELECT pour assigner le nom "nom" à la colonne modifiée. Le serveur de base de données met les noms des colonnes en majuscules, l'objet aura donc les propriétés "RACE" et "NOM".
<?php
$conn = db2_connect($database, $user, $password);
$sql = "SELECT race, RTRIM(nom) AS nom
FROM animaux
WHERE id = ?";
if ($conn) {
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(0));
while ($pet = db2_fetch_object($stmt)) {
echo "Viens ici, {$pet->NOM}, mon petit {$pet->RACE} !";
}
db2_close($conn);
}
?>L'exemple ci-dessus va afficher :
Viens ici, Pook, mon petit chat !