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();
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);
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;
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!