PHP: Enregistrer Résultat MySQL dans un Array
Info de Stefan Trost | Dernière mise à jour le 19/06/2023 | Créé le 23/04/2021
Lorsque l'on souhaite traiter le résultat d'une requête MySQL en PHP, il est souvent pratique, de stocker les données directement dans un tableau / array. Les fonctions importantes dans ce contexte sont mysqli_fetch_array(), mysqli_fetch_row() et mysqli_fetch_assoc(). Dans cette info, j'aimerais revenir sur cela et expliquer la différence.
- mysqli_fetch_row - Tableaux indexés numériquement
- mysqli_fetch_assoc - Tableaux associatifs
- mysqli_fetch_array - Le polyvalent
Tableau indexé numériquement avec mysqli_fetch_row
La fonction mysqli_fetch_row() renvoie un tableau indexé numériquement. Cela signifie que nous pouvons accéder aux données, par exemple, avec $arr[1] ou $arr[3]:
$res = mysqli_query($db, "SELECT nom, ville, pays FROM tab WHERE id=1"); $arr = mysqli_fetch_row($res); echo $arr[0]; // nom echo $arr[1]; // ville echo $arr[2]; // pays
Comme le montre l'exemple, l'ordre des éléments du tableau correspond à l'ordre des champs de la requête. Nous pouvons donc utiliser la requête pour déterminer comment notre tableau doit être rempli.
Tableau associatif avec mysqli_fetch_assoc
La fonction mysqli_fetch_array() retourne un tableau associatif. Cela signifie que les champs ne peuvent pas être adressés avec le numéro d'index mais avec le nom du champ. Et ce nom de champ est le nom de notre colonne de notre base de données MySQL:
$res = mysqli_query($db, "SELECT nom, ville, pays FROM tab WHERE id=1"); $arr = mysqli_fetch_assoc($res); echo $arr['nom']; // nom echo $arr['ville']; // ville echo $arr['pays']; // pays
Intéressant dans ce contexte est la fonction extract(). Cette fonction peut créer automatiquement des variables individuelles avec le nom respectif du tableau, qui nous sont ensuite disponibles dans le code, comme le montre l'exemple suivant:
$res = mysqli_query($db, "SELECT nom, ville, pays FROM tab WHERE id=1"); $arr = mysqli_fetch_assoc($res); extract($arr); echo $nom; // nom echo $ville; // ville echo $pays; // pays
La fonction list() peut également être utilisée pour créer des variables individuelles hors du tableau, comme le montre l'exemple suivant:
$res = mysqli_query($db, "SELECT nom, ville, pays FROM tab WHERE id=1"); list($nom, $ville, $pays) = mysqli_fetch_row($res); echo $nom; // nom echo $ville; // ville echo $pays; // pays
Contrairement à extract(), cependant, avec list(), nous avons la possibilité de définir librement comment nos variables doivent être appelées. Nous pouvons, mais pas obligés, nous en tenir aux noms des colonnes de notre tableau.
Le tout-en-un mysqli_fetch_array
La fonction mysqli_fetch_array() peut générer la sortie du jeu de données à la fois indexé numériquement et comme un tableau associatif. Ceci peut être réglé avec les paramètres MYSQLI_NUM ou MYSQLI_ASSOC.
Si vous omettez complètement le paramètre ou si vous utilisez MYSQLI_BOTH, vous pouvez utiliser les deux types d'index:
$arr = mysqli_fetch_array($res); // equivalent to mysqli_fetch_array($res, MYSQL_BOTH); echo $arr[0]; // nom echo $arr['ville']; // ville echo $arr[2]; // pays
L'appel de mysqli_fetch_array($res, MYSQLI_NUM) équivaut à la fonction mysqli_fetch_row($res).
L'appel de mysqli_fetch_array($res, MYSQLI_ASSOC) équivaut à la fonction mysqli_fetch_assoc ($res).
Sur l’Auteur
Vous pouvez trouver des logiciels de Stefan Trost sur fr.sttmedia.com. Avez-vous besoin d'un logiciel personnalisé selon vos propres besoins? Écrivez-nous: fr.sttmedia.com/contact
Voir Profil
Sujets Connexes
MySQL: Sauts de Ligne dans MySQL
Conseil | 0 Commentaires
Lazarus: Charger Fichier en tant que Array d'Octets et Enregistrer Array d'Octets en tant que Fichier
Tutoriel | 0 Commentaires
MySQL: Supprimer Données de Table - Différence entre TRUNCATE, DELETE et DROP
Tutoriel | 0 Commentaires
VirtualBox: Changer la Date et l'Heure
Tutoriel | 10 Commentaires
Script Batch: Arrêter Ordinateur Windows
Tutoriel | 4 Commentaires
Delphi/Lazarus: Afficher Array d'Octets sous forme de Chaîne de Valeurs HEX
Conseil | 0 Commentaires
MySQL/PHP: Comment récupérer le dernier INSERT ID
Info | 0 Commentaires
Avis Important
Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.
Participer
Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.