Maison >base de données >tutoriel mysql >Comment puis-je parcourir plusieurs fois un ensemble de résultats MySQL à l'aide des fonctions « mysql_* » ?

Comment puis-je parcourir plusieurs fois un ensemble de résultats MySQL à l'aide des fonctions « mysql_* » ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-06 03:46:11432parcourir

How Can I Iterate Through a MySQL Result Set Multiple Times Using `mysql_*` Functions?

Parcourir un ensemble de résultats MySQL plusieurs fois avec les fonctions mysql_*

Accéder à un ensemble de résultats MySQL plusieurs fois à l'aide des fonctions mysql_* présente un défi potentiel. Par défaut, après la première itération, le pointeur de l'ensemble de résultats progresse, ne laissant aucune ligne à récupérer par la suite.

Solution :

Pour parcourir un ensemble de résultats plusieurs fois, suivez les étapes suivantes :

  1. Exécutez la requête et stockez le résultat dans une variable.
  2. Itérez parcourez le résultat une fois en utilisant mysql_fetch_assoc().
  3. Réinitialisez le pointeur de l'ensemble de résultats au début avec mysql_data_seek(result, 0).
  4. Répétez l'étape 2 pour parcourir à nouveau l'ensemble de résultats.

Exemple Code :

$result = mysql_query(/* Your query */);
while ($row = mysql_fetch_assoc($result)) {
    // Do something with $row
}

// Reset the result set pointer
mysql_data_seek($result, 0);
while ($row = mysql_fetch_assoc($result)) {
    // Do something else with $row
}

Approche alternative :

Il vaut la peine de se demander s'il existe des approches alternatives pour éviter le besoin de plusieurs itérations dans l'ensemble de résultats. Explorer des moyens de traiter les données dans la première boucle pourrait donner lieu à une solution plus efficace.

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