$stmt
je typu PDOStatement
. Tato třída nemá žádné num_rows
vlastnost.
Možná hledáte rowCount
místo toho, ale dokumentace k tomu uvádí:
Dlouhé a krátké, pokud to je, pokud chcete skutečně SELECT
všechna tato data můžete spolehlivě určit, kolik řádků bylo vráceno iterací přes sadu výsledků (nebo stačí zavolat fetchAll
a spočítat položky v poli). Pokud nepotřebujete data, ale pouze číslo, použijte SELECT COUNT
místo toho.
Chcete-li tedy počítat řádky bez změny dotazu:
$result = $stmt->execute();
$rows = $stmt->fetchAll(); // assuming $result == true
$n = count($rows);