Maison >développement back-end >tutoriel php >Pourquoi MySQL Fetch Array récupère-t-il uniquement la première ligne d'un résultat de requête ?

Pourquoi MySQL Fetch Array récupère-t-il uniquement la première ligne d'un résultat de requête ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-20 14:31:291004parcourir

Why Does MySQL Fetch Array Only Retrieve the First Row of a Query Result?

MySQL Fetch Array récupère des lignes limitées

Le code fourni vise à récupérer plusieurs lignes d'une base de données à l'aide de l'extension MySQL en PHP. Cependant, il rencontre un problème où seule la première ligne est accessible. La requête récupère les artistes commençant par « a », « b » ou « c » ; cependant, les tentatives ultérieures d'accès aux lignes au-delà de la première entraînent une erreur de décalage non définie.

La raison de ce problème réside dans la fonctionnalité de la fonction mysql_fetch_array. Il renvoie une seule ligne du jeu de résultats sous forme de tableau associatif et indexé. Pour accéder à plusieurs lignes, la fonction doit être appelée à plusieurs reprises jusqu'à ce que toutes les lignes aient été traitées.

L'extrait de code modifié suivant montre comment parcourir toutes les lignes de l'ensemble de résultats :

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

while ($array_result = mysql_fetch_array($array)) {
    echo $array_result[0] . "\n";
    // Additional processing for each row can be performed here.
}</code>

Dans ce code, la boucle while continue d'appeler mysql_fetch_array jusqu'à ce qu'il n'y ait plus de lignes à récupérer dans le jeu de résultats. Cela permet au code de traiter chaque ligne selon les besoins.

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