oujood.com

PHP fetch_assoc() Expliqué : Convertir les Résultats de MySQL en Données Utilisables

Convertir les lignes de résultats de requêtes MySQL en tableaux associatifs exploitables grâce à la fonction fetch_assoc() en PHP.

L'Art de 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.

Définition

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.

Syntaxe Orientée Objet

$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
}

Syntaxe Procédurale

$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
}

Valeurs Possibles et Paramètres

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.

Exemples Pratiques

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>";
}

Exemples pratique supplémentaires

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 :**

```php

Exemple :       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.

Astuces et Conseils

  • Assurez-vous d'appeler la fonction fetch_assoc() à l'intérieur d'une boucle pour parcourir tous les résultats.
  • Évitez de récupérer un grand nombre de résultats en une seule requête, car cela peut entraîner une surcharge de mémoire. Utilisez des clauses LIMIT pour limiter le nombre de résultats récupérés à la fois.
  • N'oubliez pas de libérer les résultats avec free_result() une fois que vous avez fini de les utiliser pour libérer la mémoire.

Conclusion

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.


Voir aussi nos tutoriel :

 Détermine si une variable est définie et est différente de NULL">isset

 Détermine si une variable est définie et est différente de NULL

Manipulation d'exception de PHP

Manipulation d'exception

Balise table

Définit une table