Maison > développement back-end > tutoriel php > Quelle est l'approche optimale pour obtenir un nombre de lignes avec PDO en PHP ?

Quelle est l'approche optimale pour obtenir un nombre de lignes avec PDO en PHP ?

Mary-Kate Olsen
Libérer: 2024-12-23 19:39:21
original
365 Les gens l'ont consulté

What's the Optimal Approach to Getting a Row Count with PDO in PHP?

Nombre de lignes avec PDO : approche optimale

Obtenir le nombre de lignes à l'aide de PDO en PHP peut être obtenu par différentes méthodes. Cependant, la meilleure approche dépend de votre cas d'utilisation spécifique et des considérations relatives à la taille des données.

Si vous avez besoin uniquement du nombre de lignes et non des données elles-mêmes, il est recommandé d'utiliser la requête « SELECT count(*) ». Voici un exemple de code :

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

Pour les scénarios dans lesquels vous avez besoin du nombre de lignes ainsi que des données récupérées, PDO fournit la méthode PDOStatement::rowCount(). Cependant, sa fiabilité sur différents pilotes n'est pas garantie. Selon la documentation PDO :

"Pour la plupart des bases de données, PDOStatement::rowCount() ne renvoie pas le nombre de lignes affectées par une instruction SELECT... Utilisez plutôt PDO::query() pour émettre un Instruction SELECT COUNT(*)... puis utilisez PDOStatement::fetchColumn() pour récupérer le nombre de lignes qui seront renvoyées."

Dans de tels cas, vous pouvez utiliser l'instruction Fonction PDO::fetchAll() pour récupérer les données dans un tableau, puis utiliser count() pour déterminer le nombre de lignes.

$data = $pdo->fetchAll();
$number_of_rows = count($data);
Copier après la connexion

Alternativement, si votre requête est simple et n'utilise pas de variables, vous pouvez utiliser directement la fonction query() :

$nRows = $pdo->query('select count(*) from blah')->fetchColumn();
echo $nRows;
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