$stmt
er af typen PDOStatement
. Den klasse har ingen num_rows
ejendom.
Du leder muligvis efter rowCount
i stedet, men dokumentationen for det siger:
Den lange og den korte, hvis det er det, hvis du rent faktisk vil SELECT
alle disse data, kan du pålideligt bestemme, hvor mange rækker der blev returneret ved at iterere over resultatsættet (eller bare ringe til fetchAll
og tæl elementerne i arrayet). Hvis du ikke har brug for dataene, men kun et tal, skal du bruge SELECT COUNT
i stedet.
Så for at tælle rækkerne uden at ændre forespørgslen:
$result = $stmt->execute();
$rows = $stmt->fetchAll(); // assuming $result == true
$n = count($rows);