db2_fetch_object

(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

Description

function db2_fetch_object(resource $stmt, int $row_number = -1): stdClass|false

Retourne un objet dans lequel chaque propriété représente une colonne retournée dans la ligne extraite du jeu de résultats.

Liste de paramètres

stmt
Une ressource stmt valide contenant le jeu de résultats.
row_number
Demande une ligne spécifique commençant à l'index 1 du jeu de résultats. Le passage de ce paramètre entraîne une alerte PHP si le jeu de résultats utilise un curseur unidirectionnel.

Valeurs de retour

Retourne 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.

Exemples

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 !

Voir aussi

  • db2_fetch_array() - Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats
  • db2_fetch_assoc() - Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats
  • db2_fetch_both() - Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats
  • db2_fetch_row() - Modifie le pointeur du jeu de résultats à la prochaine ligne ou à la ligne demandée
  • db2_result() - Retourne une colonne d'une ligne d'un jeu de résultats