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 ?

Pourquoi ma requête MySQLi ne renvoie-t-elle qu'une seule ligne alors que j'en attends plusieurs ?

Mary-Kate Olsen
Libérer: 2024-12-06 10:32:11
original
388 Les gens l'ont consulté

Why is My MySQLi Query Only Returning One Row When I Expect Multiple?

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'];
Copier après la connexion

Expliquer la différence

  • fetch_array() renvoie une seule ligne sous forme de tableau associatif, où les noms de colonnes servent de clés.
  • fetch_all() renvoie toutes les lignes sous la forme d'un tableau de tableaux associatifs, chacun représentant un seul row.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal