Maison >développement back-end >tutoriel php >Pourquoi ma requête MySQLi ne renvoie-t-elle qu'une seule ligne ?

Pourquoi ma requête MySQLi ne renvoie-t-elle qu'une seule ligne ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-14 12:11:01389parcourir

Why Does My MySQLi Query Only Return One Row?

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 :

  • [mysqli_result::fetch_all()](https://www.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!

Déclaration:
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