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
Mary-Kate Olsenoriginal
2024-12-03 02:21:09761parcourir

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;

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;
  • Utilisation de tableaux numériques :
$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_row($result)[0];
echo $count;
  • PHP 8.1 et Plus tard :
$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_column($result);
echo $count;

É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;

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