Identifier la cause première de la récupération d'une seule ligne par une requête MySQLi
Lorsque vous êtes confronté au problème où une requête MySQLi ne renvoie qu'une seule ligne alors qu'elle en attend plusieurs , il est essentiel d'examiner le code impliqué. Dans le cas fourni, la requête vise à récupérer les données des tables sb_buddies et sb_users.
Le code sélectionne les colonnes des deux tables et les joint en fonction du champ buddy_requester_id. Cependant, la ligne suivante tente de récupérer une seule ligne à l'aide de $request_list_result->fetch_array().
Solution : Utiliser fetch_all() pour récupérer plusieurs lignes
Pour récupérer plusieurs lignes, il est nécessaire d'employer la méthode fetch_all() :
$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_rows = $request_list_result->fetch_all(); echo $request_list_rows[0]['user_fullname'];
Explication de la différence
En utilisant fetch_all(), le code peut désormais accéder aux données de toutes les lignes correspondantes, résolvant ainsi le problème de l'obtention d'une seule ligne.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3