$stmt
jest typu PDOStatement
. Ta klasa nie ma num_rows
właściwość.
Być może szukasz rowCount
zamiast tego, ale dokumentacja do tego stwierdza:
Długie i krótkie, jeśli tak, jeśli chcesz faktycznie SELECT
wszystkie te dane, możesz wiarygodnie określić, ile wierszy zostało zwróconych przez iterację po zbiorze wyników (lub po prostu wywołaj fetchAll
i policz elementy w tablicy). Jeśli nie potrzebujesz danych, ale tylko liczbę, użyj SELECT COUNT
zamiast tego.
Aby policzyć wiersze bez zmiany zapytania:
$result = $stmt->execute();
$rows = $stmt->fetchAll(); // assuming $result == true
$n = count($rows);