In diesem Artikel werden hauptsächlich die damit verbundenen Nutzungs- und Effizienzprobleme der Zeilenfunktion von PDO vorgestellt. Freunde, die sie benötigen, können sich darauf beziehenPDO hat eine Funktion
PDOStatement::rowCountgibt die Anzahl der Zeilen zurück, die von der vorherigen SQL-Anweisung betroffen sind. Das Ergebnis der Funktion rowCount ist für die Anweisung
DELETE, INSERT oder UPDATE korrekt, für die SELECT-Anweisung hängt es jedoch mit der Implementierung von zusammen die Datenbank. Einige Datenbanken lesen alle Ergebnismengen in den Speicher, wenn sie eine SELECT-Anweisung ausführen. Bei einer großen Anzahl von Ergebnismengen ist dies jedoch offensichtlich ineffizient. Die meisten Datenbanken geben nur einen Teil der Ergebnismenge zurück und geben dann bei Bedarf den Rest der Ergebnismenge zurück, sodass sowohl die Speichernutzung als auch die Ausführungseffizienz optimiert werden. Im letzteren Fall kann rowCount nicht die korrekte Anzahl von Zeilen in der Ergebnismenge der SELECT-Anweisung zurückgeben. Es gibt mehrere Möglichkeiten, die richtige Anzahl von Zeilen im SELECT-Ergebnis zu erhalten 1. Verwenden Sie die fetchAll-Funktion $q = $db->query("SELECT ..."); ->fetchAll (); $rowCount = count($rows);
2. Verwenden Sie die SQL-Count-Funktion $q = $db->query("SELECT count(*) from $rows = $q-> ;fetch(); $rowCount = $rows[0];
Offensichtlich ist die zweite Methode effizienter
Instanz
Rückgabe
LöschenZeilenanzahlPDOStatement::rowCount() Gibt die Anzahl der Zeilen zurück, die von einer DELETE-, INSERT- oder UPDATE-Anweisung betroffen sind.
Ausgabe des obigen Beispiels:<?php /* 从 FRUIT 数据表中删除所有行 */ $del = $dbh->prepare('DELETE FROM fruit'); $del->execute(); /* 返回被删除的行数 */ print("Return number of rows that were deleted:\n"); $count = $del->rowCount(); print("Deleted $count rows.\n"); ?>
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PDO rowCount()-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!