Mysql
 sql >> Base de données >  >> RDS >> Mysql

problème d'obtention de num_rows avec la classe PDO en php

$stmt est de type PDOStatement . Cette classe n'a pas de num_rows propriété.

Vous recherchez peut-être rowCount à la place, mais la documentation pour cela indique :

Le long et le court si c'est ça, si vous voulez réellement SELECT toutes ces données, vous pouvez déterminer de manière fiable combien de lignes ont été renvoyées en itérant sur le jeu de résultats (ou simplement en appelant fetchAll et compter les éléments du tableau). Si vous n'avez pas besoin des données mais juste d'un nombre, utilisez SELECT COUNT à la place.

Donc, pour compter les lignes sans changer la requête :

$result = $stmt->execute();
$rows = $stmt->fetchAll(); // assuming $result == true
$n = count($rows);