Maison >base de données >tutoriel mysql >Pourquoi mon MySQL `mysql_fetch_array()` renvoie-t-il uniquement la première ligne ?

Pourquoi mon MySQL `mysql_fetch_array()` renvoie-t-il uniquement la première ligne ?

DDD
DDDoriginal
2024-12-01 16:20:15886parcourir

Why Does My MySQL `mysql_fetch_array()` Only Return the First Row?

Comprendre la récupération sur une seule ligne dans les interactions MySQL

Dans le code fourni, vous utilisez la fonction mysql_query() pour récupérer un résultat défini à partir d'une base de données MySQL et tente ensuite de récupérer des lignes à l'aide de mysql_fetch_array(). Cependant, vous rencontrez un problème où seule la première ligne est accessible.

La fonction mysql_fetch_array() récupère une ligne du jeu de résultats et la représente sous forme de tableau indexé. Dans votre cas, chaque ligne correspond à un ensemble de noms d'artistes correspondants commençant par "a", "b" ou "c".

Lorsque vous exécutez mysql_fetch_array() pour la première fois, il place le premier ligne du jeu de résultats dans la variable $array_result, rendant $array_result[0] disponible. Cependant, les appels suivants à mysql_fetch_array() sans spécifier de paramètre renverront toujours la première ligne, écrasant les résultats précédents.

Pour récupérer plusieurs lignes de l'ensemble de résultats, vous devez répéter la fonction mysql_fetch_array() dans un boucle. Par exemple, vous pouvez utiliser une boucle while ou foreach pour parcourir le jeu de résultats, en appelant mysql_fetch_array() à chaque itération et en stockant le tableau résultant dans une variable. Cela vous permettra d'accéder à chaque ligne individuellement et de faire écho à son contenu comme vous le souhaitez.

Voici un exemple utilisant une boucle while :

$array = mysql_query("SELECT artist FROM directory WHERE artist LIKE 'a%' OR artist LIKE 'b%' OR artist LIKE 'c%'");
while($row = mysql_fetch_array($array)) {
  var_dump($row); // Outputs contents of each row
}

Cette boucle parcourra l'ensemble de résultats et affichera le contenu de chaque ligne, vous permettant d'accéder et de faire écho à toutes les données disponibles de la requête.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn