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 ?
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!