Meilleures pratiques pour le nombre de lignes avec PDO
Obtenir le nombre de lignes à l'aide de PDO en PHP peut être un sujet de débat. Cet article aborde ce problème et fournit des conseils sur l'approche optimale.
Éviter fetchAll pour les grands ensembles de données
L'utilisation de fetchAll pour récupérer toutes les lignes peut ne pas convenir aux grands ensembles de données en raison aux soucis de consommation de mémoire. Au lieu de cela, envisagez d'interroger directement la base de données pour le nombre de lignes.
Utilisation de Count(*) avec PDO
Pour récupérer efficacement le nombre de lignes, utilisez une requête telle que :
$sql = "SELECT count(*) FROM `table` WHERE foo = ?"; $result = $con->prepare($sql); $result->execute([$bar]); $number_of_rows = $result->fetchColumn();
Cette approche exploite la capacité de la base de données à effectuer un comptage de lignes.
rowCount() pour les instructions PDO
PDO propose également la méthode rowCount() pour les objets PDOStatement. Cependant, sa fiabilité pour récupérer le nombre de lignes varie selon les bases de données. Cela peut ne pas toujours fonctionner pour les instructions SELECT dans tous les scénarios.
Approche alternative avec fetchAll
Si vous avez besoin à la fois du nombre de lignes et des données elles-mêmes, utilisez PDO : fetchAll() pour récupérer les données dans un tableau. La fonction count() peut ensuite être appliquée pour déterminer le nombre de lignes.
Exemple d'instruction préparée
Voici un exemple utilisant une instruction préparée :
$nRows = $pdo->query('select count(*) from blah')->fetchColumn(); echo $nRows;
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!