PDO, eine leistungsstarke PHP-Erweiterung für die Datenbankinteraktion, bietet effiziente und sichere Mechanismen für die Bearbeitung von Datenbankabfragen. Im Gegensatz zur MySQLi-Variable num_rows fehlt PDO jedoch eine direkte Methode, um die Anzahl der von einer SELECT-Abfrage zurückgegebenen Zeilen zu bestimmen.
Es gibt zwar ein PDOStatement->rowCount Methode, ihre Verwendung für SELECT-Abfragen wird gemäß der PDO-Dokumentation nicht empfohlen. Stattdessen besteht der empfohlene Ansatz darin, eine separate SELECT COUNT(*)-Anweisung mit denselben Kriterien wie Ihre beabsichtigte SELECT-Abfrage auszugeben.
Um die Anzahl der Zeilen zu zählen, die von einer SELECT-Abfrage zurückgegeben werden, können Sie Folgendes verwenden Schritte:
Wenn Sie bereits über ein Recordset verfügen, können Sie dies tun Verwenden Sie die Funktion count(), um die Anzahl der darin enthaltenen Zeilen zu ermitteln. Dies erfordert jedoch das Abrufen der Daten mit einer der fetch*-Methoden, wie z. B. fetch() oder fetchAll().
Hier ist ein Beispiel, das den empfohlenen Ansatz demonstriert:
$stmt = $pdo->prepare("SELECT * FROM `table` WHERE `condition` = ?"); $stmt->execute([$value]); $rowCount = $stmt->rowCount(); // This will return 0 for a SELECT query $countStmt = $pdo->prepare("SELECT COUNT(*) FROM `table` WHERE `condition` = ?"); $countStmt->execute([$value]); $count = $countStmt->fetchColumn(); // This will return the actual count echo "Number of rows: $count";
Mit diesem Ansatz können Sie die Anzahl der von einer PDO SELECT-Abfrage zurückgegebenen Zeilen genau zählen und so eine optimale Leistung und Datenbankressourcen sicherstellen Auslastung.
Das obige ist der detaillierte Inhalt vonWie kann man Zeilen aus einer PDO-SELECT-Abfrage in PHP effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!