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 :
$sql = "SELECT COUNT(*) AS cnt FROM news"; $result = mysqli_query($con, $sql); $count = mysqli_fetch_assoc($result)['cnt']; echo $count;
$sql = "SELECT COUNT(*) FROM news"; $result = mysqli_query($con, $sql); $count = mysqli_fetch_row($result)[0]; echo $count;
$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!