Maison > développement back-end > tutoriel php > Comment compter efficacement les lignes dans les tables MySQL à l'aide de PHP ?

Comment compter efficacement les lignes dans les tables MySQL à l'aide de PHP ?

Mary-Kate Olsen
Libérer: 2024-12-03 02:21:09
original
760 Les gens l'ont consulté

How to Efficiently Count Rows in MySQL Tables Using PHP?

Comment récupérer le nombre de lignes des tables MySQL en PHP

Votre code PHP, qui vise à compter les lignes dans une table MySQL et à stocker les résultat en $count, rencontré des difficultés. Dans cet article, nous explorerons comment y parvenir efficacement en utilisant le style procédural de PHP.

Comptage de lignes procédural

Pour obtenir le nombre de lignes, envisagez les modifications suivantes dans votre code :

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

Dans cette version, on accède directement au résultat de COUNT(*) en sélectionnant la colonne appropriée dans le tableau associatif renvoyé par mysqli_fetch_assoc().

Méthodes alternatives

En dehors de la méthode ci-dessus, voici quelques options supplémentaires :

  • Utiliser la colonne Aliasing :
$sql = "SELECT COUNT(*) AS cnt FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_assoc($result)['cnt'];
echo $count;
Copier après la connexion
  • Utilisation de tableaux numériques :
$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_row($result)[0];
echo $count;
Copier après la connexion
  • PHP 8.1 et Plus tard :
$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_column($result);
echo $count;
Copier après la connexion

Évitez d'utiliser mysqli_num_rows

Contrairement aux conseils populaires, mysqli_num_rows ne doit pas être utilisé pour le comptage de lignes. Il récupère tous les enregistrements correspondants, ce qui peut être inefficace et gourmand en ressources.

Instructions préparées pour les requêtes paramétrées

Si votre requête implique des variables dynamiques, envisagez d'utiliser des instructions préparées :

$sql = "SELECT COUNT(*) FROM news WHERE category=?";
$stmt = $con->prepare($sql);
$stmt->bind_param('s', $category);
$stmt->execute();
$count = $stmt->get_result()->fetch_row()[0];
echo $count;
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