Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Problem beim Abrufen von num_rows mit der PDO-Klasse in PHP

$stmt ist vom Typ PDOStatement . Diese Klasse hat keine num_rows Eigentum.

Möglicherweise suchen Sie nach rowCount stattdessen, aber die Dokumentation dafür besagt:

Das lange und das kurze, wenn es das ist, wenn Sie tatsächlich SELECT wollen all dieser Daten können Sie zuverlässig bestimmen, wie viele Zeilen zurückgegeben wurden, indem Sie über die Ergebnismenge iterieren (oder rufen Sie einfach fetchAll und zählen Sie die Elemente im Array). Wenn Sie die Daten nicht benötigen, sondern nur eine Zahl, verwenden Sie SELECT COUNT stattdessen.

Um also die Zeilen zu zählen, ohne die Abfrage zu ändern:

$result = $stmt->execute();
$rows = $stmt->fetchAll(); // assuming $result == true
$n = count($rows);