Parfois, on peut être un peu mordu de PHP objet, et au lieu de vouloir un array associatif (le nom du champ comme clé : mysql_fetch_assoc), ou un array indexé numériquement (un numéro comme clé : mysql_fetch_row -> le plus rapide), on veut un objet « associatif » (le nom des champs comme attribut) grâce à mysql_fetch_object. C’est tout aussi rapide que mysql_fetch_assoc ou mysql_fetch_array, un peu moins que mysql_fetch_row (quand même) mais ça peut être utile.
Le manuel PHP nous dit : mysql_fetch_object() retourne un tableau qui contient la ligne demandée dans le résultat result et déplace le pointeur de données interne d’un cran.
Voici un exemple d’utilisation (tiré du manuel PHP) avec matable(user_id, user_name, user_age) que voici :
user_id | user_name | user_age 1 Fylhan NULL 2 BN 18
<?php
// Connexion à la BDD
mysql_connect('serveur', 'utilisateur', 'mdp');
mysql_select_db('nombdd');
// Exécution de la requête
$result = mysql_query('select * from matable');
if (mysql_num_rows($result) == 0)
echo 'Aucun résultat.';
else {
// Boucle sur les champs (chaque champ étant renvoyé en tant qu'objet)
while ($row = mysql_fetch_object($result))) {
echo $row->user_id.' ';
echo $row->user_name.'<br />';
}
}
// Libération de la mémoire
mysql_free_result($result);
Ceci renverra :
1 Fylhan 2 BN
