Obtenir des résultats de requête est une étape courante et importante lors de l'interaction avec MySQL à l'aide de PHP. mysql_fetch_array () est une fonction utilisée dans PHP pour obtenir les résultats de la requête. Il peut renvoyer les résultats en tant que tableau associatif, un tableau d'index numérique, ou les deux, afin que nous puissions les traiter dans les programmes ultérieurs.
Remarque : mysql_fetch_array () appartient à l'extension MySQL , qui a été abandonnée depuis PHP 7.0. Il est recommandé que les nouveaux projets utilisent MySQLI ou PDO_MYSQL . Cet article vise principalement à maintenir les anciens systèmes ou les objectifs d'apprentissage.
Avant de commencer, nous devons nous connecter à la base de données MySQL et sélectionner une base de données:
<code> & lt ;? php // Connectez-vous à la base de données $ Conn = mysql_connect ("localhost", "nom d'utilisateur", "mot de passe"); if (! $ Conn) {
Die ("La connexion a échoué:". MySQL_ERROR ());
}
// Sélectionnez la base de données
mysql_select_db ("test_db", $ conn);
?>
</code>
Exécutez une requête SQL simple pour obtenir toutes les informations utilisateur dans la table utilisateur:
<code> & lt ;? php $ sql = "SELECT ID, nom, e-mail dans les utilisateurs"; $ result = mysql_query ($ SQL, $ Conn); if (! $ résultat) {
Die ("La requête a échoué:". mysql_error ());
}
?>
</code>
Ensuite, nous utilisons mysql_fetch_array () pour obtenir le résultat de la requête:
<code> & lt ;? php while ($ row = mysql_fetch_array ($ result, mysql_assoc)) {echo "id:". $ row ["id"]. "& lt; br & gt;"; Echo "Nom:". $ row ["name"]. "& lt; br & gt;"; Echo "Courriel:". $ row ["e-mail"]. "& lt; br & gt;"; }? & gt; </code>Dans le code ci-dessus, nous transmettons la constante MySQL_ASSOC , ce qui signifie que nous voulons obtenir les données pour associer le tableau. Cela signifie que nous pouvons accéder à la valeur de chaque colonne par le nom du champ.
Le deuxième paramètre de mysql_fetch_array () peut être défini sur les modes suivants:
MySQL_ASSOC : Renvoie uniquement le tableau associatif.
Mysql_num : renvoie uniquement le tableau d'index numérique.
Mysql_both (par défaut): renvoie à la fois les tableaux index associatifs et numériques.
Exemple (Obtenez l'association et l'index en même temps):
<code> & lt ;? php while ($ row = mysql_fetch_array ($ result)) {echo $ row [0]; // Utiliser l'index du numéro Echo $ row ["name"]; // utilise le nom de champ}? & Gt; </code>Voici un processus d'utilisation complet:
<code> & lt ;? php // Connectez-vous à la base de données $ Conn = mysql_connect ("localhost", "root", "mot de passe"); if (! $ Conn) {Die ("La connexion a échoué:". MySQL_ERROR ()); }mysql_select_db ("test_db", $ conn);
// requête les données
$ sql = "SELECT ID, nom, e-mail dans les utilisateurs";
$ result = mysql_query ($ SQL, $ Conn);
// Résultat de sortie
while ($ row = mysql_fetch_array ($ result, mysql_assoc)) {
écho "<p>";
Echo "ID utilisateur:". $ row ["id"]. "<br>";
Echo "Nom d'utilisateur:". $ row ["name"]. "<br>";
Echo "Email utilisateur:". $ row ["e-mail"]. "<br>";
Echo "Lien de profil: <a href = 'https://gitbox.net/user/". $ row ["id"]. "'> Voir </a>";
echo "</p>";
}
// Fermez la connexion
mysql_close ($ Conn);
?>
</code>
mysql_fetch_array () fournit un moyen flexible d'obtenir les résultats de la requête MySQL. Bien qu'il ne soit plus recommandé pour une utilisation dans de nouveaux projets, la compréhension de son fonctionnement aidera toujours à comprendre les interactions PHP et de base de données. Lors de la maintenance d'un ancien système, il est nécessaire de maîtriser comment l'utiliser.
Lors du développement de nouveaux systèmes, il est recommandé d'utiliser MySQLI_Fetch_assoc () ou Pdostatement :: Fetch () à la place. Quelle que soit la méthode utilisée, la compréhension de la logique de requête sous-jacente est toujours la base de la création d'applications fiables.