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
434 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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal