$stmt
är av typen PDOStatement
. Den klassen har inga num_rows
egendom.
Du kanske letar efter rowCount
istället, men dokumentationen för det säger:
Den långa och den korta om det är så, om du faktiskt vill SELECT
all denna data kan du på ett tillförlitligt sätt avgöra hur många rader som returnerades genom att iterera över resultatuppsättningen (eller bara ringa fetchAll
och räkna objekten i arrayen). Om du inte behöver data utan bara ett nummer, använd SELECT COUNT
istället.
Så för att räkna raderna utan att ändra frågan:
$result = $stmt->execute();
$rows = $stmt->fetchAll(); // assuming $result == true
$n = count($rows);