oujood.com

fetch_all() et mysqli_fetch_all() en PHP : Récupération Facilitée des Résultats de Requêtes

Simplifiez la récupération des résultats de base de données en PHP avec fetch_all() et mysqli_fetch_all(). Explorez les syntaxes orientée objet et procédurale, et familiarisez-vous avec les bonnes pratiques pour éviter les erreurs courantes.

La fonction fetch_all() / mysqli_fetch_all() en PHP

PHP Version: 5.3 +

La fonction fetch_all() (ou mysqli_fetch_all() en utilisant l'extension MySQLi) est largement utilisée en PHP pour récupérer tous les résultats d'une requête SQL sous forme d'un tableau associatif ou numérique.

Définition

La fonction fetch_all() récupère toutes les lignes de résultat d'une requête et les retourne dans un tableau multidimensionnel. Chaque ligne est un tableau contenant les valeurs de chaque colonne de la base de données.

Syntaxes

La fonction peut être utilisée avec la syntaxe orientée objet ou procédurale en PHP.

Syntaxe Orientée Objet :

            $mysqli = new mysqli("localhost", "utilisateur", "motdepasse", "ma_base_de_données");
            $result = $mysqli->query("SELECT * FROM ma_table");
            $rows = $result->fetch_all(MYSQLI_ASSOC);
        

Syntaxe Procédurale :

            $conn = mysqli_connect("localhost", "utilisateur", "motdepasse", "ma_base_de_données");
            $result = mysqli_query($conn, "SELECT * FROM ma_table");
            $rows = mysqli_fetch_all($result, MYSQLI_ASSOC);
        

Valeurs Possibles et Paramètres

La fonction fetch_all() accepte le paramètre optionnel resulttype qui définit le type de tableau à retourner. Les valeurs possibles sont MYSQLI_ASSOC, MYSQLI_NUM et MYSQLI_BOTH.

Exemples Pratiques

Approche Orientée Objet :

Exemple :       Copier le code

<?php
	$mysqli = new mysqli("localhost", "utilisateur", "motdepasse", "ma_base_de_données");
	$result = $mysqli->query("SELECT nom, age FROM utilisateurs");
	$rows = $result->fetch_all(MYSQLI_ASSOC);

	foreach ($rows as $row) {
		echo "Nom: " . $row['nom'] . ", Age: " . $row['age'] . "<br>";
	}
?>

Approche Procédurale :

Exemple :       Copier le code

<?php  
	$conn = mysqli_connect("localhost", "utilisateur", "motdepasse", "ma_base_de_données");
	$result = mysqli_query($conn, "SELECT nom, age FROM utilisateurs");
	$rows = mysqli_fetch_all($result, MYSQLI_ASSOC);

	foreach ($rows as $row) {
		echo "Nom: " . $row['nom'] . ", Age: " . $row['age'] . "<br>";
	}
?>

Astuces et Conseils

  • Assurez-vous d'avoir activé l'extension MySQLi dans votre installation PHP.
  • Utilisez MYSQLI_ASSOC pour récupérer un tableau associatif, MYSQLI_NUM pour un tableau numérique et MYSQLI_BOTH pour les deux.
  • Veillez à échapper les données provenant de la base de données pour éviter les failles de sécurité (utilisez htmlspecialchars() ou des méthodes similaires).
  • Évitez d'utiliser fetch_all() pour de grands ensembles de résultats, car cela peut consommer beaucoup de mémoire. Utilisez plutôt des méthodes de pagination ou des limites.



Voir aussi nos tutoriel :

Créez une liste déroulante de pays, d'état et de ville

Créez une liste déroulante de pays, d'état et de ville avec l'API REST et jQuery.

Détermine si l'argument peut être appelé comme fonction

 Détermine si l'argument peut être appelé comme fonction

HTML les attributs globaux

Certains attributs sont définis de manière globale et peuvent être utilisés sur n'importe quel élément, tandis que d'autres sont définis pour des éléments spécifiques seulement....