$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);