Maison >développement back-end >tutoriel php >Pourquoi ma requête MySQLi ne renvoie-t-elle qu'une seule ligne alors que j'en attends plusieurs ?
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 faut utiliser la fonction fetch_all() méthode :
$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'];
Expliquer 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.
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!