Maison >base de données >tutoriel mysql >Pourquoi mon MySQLi `COUNT(*)` renvoie-t-il toujours 1 ?

Pourquoi mon MySQLi `COUNT(*)` renvoie-t-il toujours 1 ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-02 19:28:12581parcourir

Why Does My MySQLi `COUNT(*)` Always Return 1?

Nombre MySQLi incorrect (*) Résultat : renvoie toujours 1

En tentant de récupérer le nombre de lignes dans une table, vous avez rencontré un problème où le nombre $result->num_rows renvoyait systématiquement 1. Malgré l'utilisation de la requête correcte dans phpMyAdmin et l'obtention du résultat attendu, la méthode PHP s'est comportée de manière inattendue.

Pour corriger ce comportement, vous devez comprendre que COUNT(*) est une fonction d'agrégation qui renvoie une valeur unique. Pour récupérer cette valeur, vous devez récupérer le résultat de la requête en utilisant $result->fetch_row(). Le premier élément du tableau résultant ($row[0]) contiendra le décompte.

Voici le code corrigé :

$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
echo '#: ', $row[0];

En incorporant ce changement, vous obtiendrez désormais correctement le nombre de lignes dans votre tableau.

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