La requête MySQL ne renvoie qu'une seule ligne
Dans le code fourni, l'auteur tente de récupérer plusieurs lignes de la base de données à l'aide de MySQLi, mais le la requête ne renvoie qu'une seule ligne. Ceci malgré la confirmation que la requête SQL renvoie deux lignes lorsqu'elle est exécutée directement dans phpMyAdmin.
Le problème
Le problème réside dans la méthode utilisée pour récupérer les données de MySQLi. objet de résultat. Dans le code, fetch_array() est utilisé, qui récupère uniquement la première ligne du jeu de résultats. Pour récupérer toutes les lignes, fetch_all() doit être utilisé à la place.
Code corrigé
$request_list_result = $mysqli->query(" SELECT buddy_requester_id, buddy_reciepient_id, user_id, user_fullname FROM sb_buddies JOIN sb_users ON buddy_requester_id=user_id WHERE buddy_status='0' AND buddy_reciepient_id='" . get_uid() . "'"); $request_list = $request_list_result->fetch_all(); // Now $request_list holds all rows in the result set
Ressources supplémentaires
Pour plus d'informations sur la récupération de données à partir des jeux de résultats MySQLi, reportez-vous à ce qui suit ressource :
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!