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 ?
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!