Maison > développement back-end > tutoriel php > Pourquoi COUNT(*) renvoie-t-il 1 dans MySQLi lorsque la table comporte plus de lignes ?

Pourquoi COUNT(*) renvoie-t-il 1 dans MySQLi lorsque la table comporte plus de lignes ?

Barbara Streisand
Libérer: 2024-11-10 08:04:02
original
261 Les gens l'ont consulté

Why does COUNT(*) return 1 in MySQLi when the table has more rows?

Erreurs de décompte de la fonction Count(*) dans MySQLi

Lors de l'exécution d'une requête COUNT(*) dans MySQLi, les utilisateurs peuvent rencontrer un comportement inattendu où le résultat renvoie systématiquement 1 quelle que soit la taille réelle de la table. Cet écart entre MySQLi et phpMyAdmin peut être déroutant.

Enquête et solution

L'inadéquation survient parce que MySQLi représente le résultat COUNT(*) sous la forme d'un jeu d'enregistrements à une seule ligne. Pour accéder au nombre réel, le résultat doit être récupéré à l'aide de la méthode fetch_row().

Par conséquent, la bonne façon de déterminer le nombre de lignes à l'aide de MySQLi est :

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

Dans cette version modifiée code, la propriété num_rows n'est pas utilisée car le résultat est un jeu d'enregistrements à une seule ligne et, par conséquent, son rowCount est toujours 1. Au lieu de cela, la méthode fetch_row() est utilisée pour récupérer le nombre réel stocké dans la première colonne du jeu d'enregistrements.

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