Détermine si une variable est définie et est différente de NULL
Convertir les lignes de résultats de requêtes MySQL en tableaux associatifs exploitables grâce à la fonction fetch_assoc() en PHP.
PHP Version: 5+
La fonction fetch_assoc() (ou mysqli_fetch_assoc()) est une fonction importante en PHP pour récupérer les résultats d'une requête MySQL sous forme d'un tableau associatif.
fetch_assoc() est une méthode de la classe mysqli_result qui permet de récupérer la prochaine ligne de résultat sous forme d'un tableau associatif. Cela signifie que les colonnes de la ligne deviennent les clés du tableau associatif.
$mysqli = new mysqli("localhost", "nom_utilisateur", "mot_de_passe", "ma_base_de_données"); $query = "SELECT * FROM ma_table"; $result = $mysqli->query($query); while ($row = $result->fetch_assoc()) { // Utilisation des valeurs du tableau associatif }
$mysqli = mysqli_connect("localhost", "nom_utilisateur", "mot_de_passe", "ma_base_de_données"); $query = "SELECT * FROM ma_table"; $result = mysqli_query($mysqli, $query); while ($row = mysqli_fetch_assoc($result)) { // Utilisation des valeurs du tableau associatif }
La fonction fetch_assoc() renvoie un tableau associatif représentant la ligne courante du résultat. Si aucune ligne n'est disponible, elle renvoie null.
Voici un exemple où nous récupérons et affichons les noms des utilisateurs à partir d'une table :
while ($row = $result->fetch_assoc()) { echo $row["nom_utilisateur"] . "<br>"; }
Voici des exemples pratiques avec les deux approches (orientée objet et procédurale) en utilisant des commentaires pour expliquer le fonctionnement du code :
**Exemple Orientée Objet :**
```phpExemple : Copier le code
<?php $mysqli = new mysqli("localhost", "nom_utilisateur", "mot_de_passe", "ma_base_de_données"); if ($mysqli->connect_error) { die("Connection échouée : " . $mysqli->connect_error); } $query = "SELECT id, nom, email FROM utilisateurs"; $result = $mysqli->query($query); if ($result) { while ($row = $result->fetch_assoc()) { // $row est un tableau associatif avec les clés correspondant aux noms de colonnes $id = $row['id']; $nom = $row['nom']; $email = $row['email']; echo "ID : $id, Nom : $nom, Email : $email
"; } $result->free(); // Libérer les résultats } else { echo "Erreur dans la requête : " . $mysqli->error; } $mysqli->close(); // Fermer la connexion ?>
**Exemple Procédurale :**
Exemple : Copier le code
<?php $mysqli = mysqli_connect("localhost", "nom_utilisateur", "mot_de_passe", "ma_base_de_données"); if (!$mysqli) { die("Connection échouée : " . mysqli_connect_error()); } $query = "SELECT id, nom, email FROM utilisateurs"; $result = mysqli_query($mysqli, $query); if ($result) { while ($row = mysqli_fetch_assoc($result)) { // $row est un tableau associatif avec les clés correspondant aux noms de colonnes $id = $row['id']; $nom = $row['nom']; $email = $row['email']; echo "ID : $id, Nom : $nom, Email : $email
"; } mysqli_free_result($result); // Libérer les résultats } else { echo "Erreur dans la requête : " . mysqli_error($mysqli); } mysqli_close($mysqli); // Fermer la connexion ?>
Ces exemples illustrent comment utiliser la fonction `fetch_assoc()` pour extraire des données d'une requête MySQL et les afficher à l'aide de boucles et de tableaux associatifs. N'oubliez pas d'adapter les détails de la connexion et de la requête en fonction de votre base de données.
fetch_assoc() est un outil puissant pour récupérer des données de base de données MySQL en PHP. En comprenant comment l'utiliser correctement, vous pouvez manipuler efficacement les résultats de vos requêtes et les intégrer dans votre application.