$stmt
è di tipo PDOStatement
. Quella classe non ha num_rows
proprietà.
Potresti cercare rowCount
invece, ma la documentazione per quello afferma:
Il lungo e il corto se è quello, se vuoi effettivamente SELECT
tutti quei dati, puoi determinare in modo affidabile quante righe sono state restituite eseguendo un'iterazione sul set di risultati (o semplicemente chiamando fetchAll
e contare gli elementi nell'array). Se non ti servono i dati ma solo un numero, usa SELECT COUNT
invece.
Quindi, per contare le righe senza modificare la query:
$result = $stmt->execute();
$rows = $stmt->fetchAll(); // assuming $result == true
$n = count($rows);