Maison > développement back-end > tutoriel php > Quel est le moyen le plus efficace d'obtenir un nombre de lignes précis à l'aide de PDO en PHP ?

Quel est le moyen le plus efficace d'obtenir un nombre de lignes précis à l'aide de PDO en PHP ?

Linda Hamilton
Libérer: 2024-12-24 06:37:17
original
636 Les gens l'ont consulté

What's the Most Efficient Way to Get an Accurate Row Count Using PDO in PHP?

Nombre de lignes précis avec PDO en PHP

La détermination du nombre de lignes dans une requête de base de données est cruciale pour de nombreuses applications. Avec l'introduction du PDO (PHP Data Objects), il y a eu quelques divergences concernant la meilleure approche pour récupérer le nombre de lignes. Explorons les méthodes les plus efficaces.

Éviter fetchAll() avec de grands ensembles de données

Bien que fetchAll() soit une méthode pratique pour récupérer tous les résultats d'une requête, ce n'est pas le cas. idéal pour les grands ensembles de données où l'utilisation de la mémoire est un problème. Si seul le nombre de lignes est nécessaire, une approche alternative est préférable.

Récupération du nombre de lignes sans données

Lorsque les données réelles ne sont pas requises, l'approche suivante est recommandée :

$sql = "SELECT count(*) FROM `table` WHERE foo = ?";
$result = $con->prepare($sql);
$result->execute([$bar]);
$number_of_rows = $result->fetchColumn();
Copier après la connexion

Cette requête récupère directement le nombre de lignes sans récupérer les données elles-mêmes, en enregistrant mémoire.

PDOStatement::rowCount()

Pour obtenir le nombre de lignes ainsi que les données récupérées, PDO fournit PDOStatement::rowCount(). Dans MySQL, cette méthode fonctionne efficacement avec les requêtes mises en mémoire tampon, qui sont activées par défaut. Cependant, sa fiabilité n'est pas garantie pour les autres pilotes de base de données.

Utilisation de PDO::query()

Si une requête ne contient aucune variable, une approche plus concise consiste à utiliser PDO::query() au lieu d'une instruction préparée :

$nRows = $pdo->query('select count(*) from blah')->fetchColumn();
echo $nRows;
Copier après la connexion

Cette méthode élimine le besoin d'une variable $result distincte et simplifie le code.

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