Maison > développement back-end > tutoriel php > Comment compter avec précision les lignes MySQL à l'aide de PHP ?

Comment compter avec précision les lignes MySQL à l'aide de PHP ?

Linda Hamilton
Libérer: 2024-12-06 19:03:12
original
816 Les gens l'ont consulté

How to Accurately Count MySQL Rows Using PHP?

Comment récupérer le nombre exact de lignes d'une table MySQL à l'aide de PHP

Obtenir le nombre de lignes dans une table MySQL est une tâche courante dans gestion de la base de données. PHP propose plusieurs options pour cela, en particulier pour ceux qui préfèrent le code procédural.

L'erreur :

Une erreur courante consiste à obtenir le mot « Array » au lieu d'un nombre. . Cela se produit lors de l'utilisation de mysqli_fetch_assoc() qui renvoie un tableau associatif.

Solution 1 : Utiliser les index de tableau

Pour résoudre ce problème, accédez à l'index du tableau correspondant au nom de la colonne . Par exemple :

$count = mysqli_fetch_assoc($result)['COUNT(*)'];
Copier après la connexion

Solution 2 : Utiliser un alias de colonne

Vous pouvez également spécifier un alias pour la colonne de comptage dans votre requête SQL :

$sql = "SELECT COUNT(*) AS cnt FROM news";
$count = mysqli_fetch_assoc($result)['cnt'];
Copier après la connexion

Solution 3 : Utiliser le numérique Tableaux

Une autre option consiste à utiliser mysqli_fetch_row() pour récupérer un tableau numérique :

$count = mysqli_fetch_row($result)[0];
Copier après la connexion

Optimisation PHP 8.1

Si vous utilisez PHP 8.1 ou version ultérieure, vous pouvez simplifier le opération :

$count = mysqli_fetch_column($result);
Copier après la connexion

Éviter d'utiliser mysqli_num_rows

Bien qu'il puisse sembler tentant d'utiliser mysqli_num_rows, cette fonction présente des limitations importantes et doit être évitée pour compter les lignes.

POO Approche

Pour ceux qui préfèrent la programmation orientée objet, le même code pourrait être écrit comme :

$count = $con->query($sql)->fetch_row()[0];
Copier après la connexion

Déclarations préparées

Lorsque vous utilisez des requêtes avec des variables, vous devez utiliser des instructions préparées pour améliorer la sécurité et l'efficacité :

$stmt = $con->prepare("SELECT COUNT(*) FROM news WHERE category=?");
$stmt->bind_param('s', $category);
$stmt->execute();
$count = $stmt->get_result()->fetch_row()[0];
Copier après la connexion

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