Requête MySQL récupérant une seule ligne
Cet extrait de code vise à récupérer deux lignes de données d'une table MySQL mais n'en renvoie qu'une. L'instruction SQL dans phpMyAdmin renvoie avec succès les deux lignes, mais le code en question ne parvient pas à le faire :
$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_row = $request_list_result->fetch_array(); echo $request_list['user_fullname'];
Le problème réside dans l'utilisation de fetch_array, qui ne récupère qu'une seule ligne sous forme de tableau. Pour récupérer toutes les lignes du résultat, la fonction prévue est fetch_all :
$request_list = $request_list_result->fetch_all();
Cette fonction renvoie un tableau de tableaux, où chaque tableau interne représente une ligne dans l'ensemble de résultats. L'utilisation de fetch_all permettra au code d'accéder correctement aux deux lignes.
Pour référence, la documentation sur fetch_all peut être trouvée ici : http://php.net/manual/en/mysqli-result.fetch-all. php
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!