Maison >développement back-end >tutoriel php >Quand \'mysql_fetch_array()\' renvoie-t-il réellement un tableau de toutes les lignes de requête ?

Quand \'mysql_fetch_array()\' renvoie-t-il réellement un tableau de toutes les lignes de requête ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-20 14:30:29325parcourir

When Does 'mysql_fetch_array()' Really Return an Array of All Query Rows?

Comprendre le problème avec mysql_fetch_array

Une erreur courante lors de l'utilisation de la fonction mysql_fetch_array() est de supposer qu'elle renvoie un tableau de toutes les lignes d'un requête. Cependant, il ne récupère qu'une seule ligne, ce qui provoque une confusion lorsque l'on tente d'accéder à plus que le premier élément.

Explication du code

Le code fourni tente de récupérer les artistes dont les noms commencent par « a », « b » ou « c ». La requête est stockée dans $array et la première ligne est récupérée dans $array_result. Cependant, lorsque vous essayez d'accéder à $array_result[1], une erreur "offset non défini" se produit. En effet, mysql_fetch_array() ne renvoie que la première ligne sous forme de tableau.

Solution : itérer sur les lignes

Pour obtenir toutes les lignes de la requête, mysql_fetch_array() la fonction doit être appelée plusieurs fois dans une boucle. Par exemple :

<code class="php">$array = mysql_query("SELECT artist FROM directory WHERE artist LIKE 'a%' OR artist LIKE 'b%' OR artist LIKE 'c%'");

while ($data = mysql_fetch_array($array)) {
  // Output or process each row data as needed
  var_dump($data);
}</code>

Dans cet exemple, la boucle récupérera et traitera chaque ligne du résultat de la requête, permettant ainsi la fonctionnalité souhaitée d'accéder aux éléments de chaque ligne.

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