Maison  >  Article  >  développement back-end  >  Pourquoi MySQL ne renvoie-t-il qu'une seule ligne lors de l'utilisation de « mysql_fetch_assoc() » en PHP ?

Pourquoi MySQL ne renvoie-t-il qu'une seule ligne lors de l'utilisation de « mysql_fetch_assoc() » en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-02 14:43:30603parcourir

Why Does MySQL Only Return One Row When Using `mysql_fetch_assoc()` in PHP?

Pourquoi MySQL ne renvoie qu'une seule ligne en PHP

Dans MySQL, en utilisant les fonctions mysql_* intégrées de PHP, un problème courant se produit lorsque le le résultat de la requête attendu renvoie plusieurs lignes mais seule la première ligne est accessible.

Pour résoudre ce problème, considérez le code PHP suivant :

<code class="php">$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5");
$query2 = mysql_fetch_assoc($query);
print_r($query2);</code>

Ce code récupère uniquement la première ligne du résultat de la requête et l'affiche. Pour accéder aux lignes restantes, une boucle while() doit être utilisée :

<code class="php">$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5");

while ($row = mysql_fetch_assoc($query)) {
    print_r($row);
}</code>

Notes supplémentaires :

  • La requête d'origine doit être corrigée pour utiliser mysql_fetch_assoc() correctement, car son type de retour est une ligne.
  • La boucle while() se termine lorsque mysql_fetch_assoc() renvoie FALSE, indiquant qu'aucune ligne n'est plus disponible.

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