Maison >base de données >tutoriel mysql >Pourquoi ma requête PHP MySQL ne renvoie-t-elle qu'une seule ligne lorsqu'il existe plusieurs lignes ?

Pourquoi ma requête PHP MySQL ne renvoie-t-elle qu'une seule ligne lorsqu'il existe plusieurs lignes ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-02 11:23:091003parcourir

Why Does My PHP MySQL Query Only Return One Row When Multiple Rows Exist?

Récupération MySQL limitée à une seule ligne

Dans une tentative de récupération de plusieurs lignes d'une table MySQL à l'aide de PHP, vous pouvez rencontrer une situation où une seule ligne est renvoyée, malgré plusieurs lignes correspondant à vos critères de requête. Ce problème peut survenir en raison d'une implémentation incorrecte du code.

Dans le code PHP fourni :

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

Le problème réside dans l'utilisation de mysql_fetch_assoc($quer). Cette fonction récupère uniquement la première ligne du jeu de résultats et l'affecte à $query2. Pour récupérer toutes les lignes correspondant à la requête, vous devez utiliser une boucle while pour parcourir l'ensemble de résultats.

Le code corrigé serait :

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

while ($row = mysql_fetch_assoc($query)) {
    print_r($row);
}

Cette modification attribue chaque ligne au Variable $row dans la boucle while, assurant la récupération et l'affichage de toutes les lignes correspondantes.

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