Maison  >  Article  >  développement back-end  >  Pourquoi ma requête MySQL ne renvoie-t-elle qu'une seule ligne lorsqu'elle est exécutée en PHP ?

Pourquoi ma requête MySQL ne renvoie-t-elle qu'une seule ligne lorsqu'elle est exécutée en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 08:35:02537parcourir

Why is my MySQL query only returning one row when executed in PHP?

MySQL ne renvoie qu'une seule ligne à partir d'une requête

Problème :

Lors de l'exécution d'un SQL requête qui doit renvoyer plusieurs lignes, une seule ligne est récupérée à l'aide de mysql_query() et mysql_fetch_assoc() de PHP. La requête SQL exécutée directement dans PhpMyAdmin renvoie toutes les lignes attendues.

Solution :

Option 1 : Utiliser une boucle pour parcourir les lignes

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

while ($row = mysql_fetch_assoc($query)) {
    print_r($row);
}
  • Ce code utilise une boucle while pour parcourir toutes les lignes renvoyées par la requête.
  • Chaque ligne est affectée à la variable $row et est accessible dans la boucle.

Option 2 : Utiliser mysql_fetch_array() pour récupérer un tableau de lignes

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

$rows = array();
while ($row = mysql_fetch_array($query)) {
    $rows[] = $row;
}
  • Ce code utilise mysql_fetch_array() pour récupérer un tableau de rows.
  • Le tableau $rows contiendra un tableau pour chaque ligne renvoyée par la requête.

Remarque :

  • Le problème est survenu car mysql_fetch_assoc() ne renvoie qu'une ligne à la fois.
  • Le nom de variable mal orthographié $quer au lieu de $query peut également avoir contribué au problème.

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