PDOStatement :: rowCount
PDOStatement :: rowCount - Liefert die SQL-Anweisung, die auf einer Anzahl von Zeilen ist betroffen (PHP 5> = 5.1.0, PECL gU> = 0.1.0)
Erklärung
Grammatik
int PDOStatement::rowCount ( void )
PDOStatement :: rowCount () gibt eine DELETE, INSERT oder UPDATE-Anweisung betroffen sind die Anzahl der Zeilen durch die entsprechende PDOStatement Objekt ausgeführt.
Wenn die von einem zugeordneten PDOStatement ausgeführten SQL-Anweisung eine SELECT-Anweisung war, können einige Daten geben die Anzahl der Zeilen, die von dieser Anweisung zurückgegeben. Jedoch kann dieses Verfahren nicht garantieren, dass alle Daten gültig sind, und für tragbare Anwendungen sollten nicht auf diese Methode verlassen.
Rückgabewert
Gibt die Anzahl der Zeilen.
Beispiele
Gibt die Anzahl der Zeilen gelöscht
PDOStatement :: rowCount () gibt die Anzahl der Zeilen von DELETE, INSERT, UPDATE betroffen oder UVE.
<?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 Beispiel für die Ausgabe:
Return number of rows that were deleted: Deleted 9 rows.
Berechnet durch die Anzahl der Zeilen, die von einer SELECT-Anweisung zurück
Bei den meisten Datenbanken ist PDOStatement :: rowCount () gibt nicht die Anzahl der Zeilen, die von einer SELECT-Anweisung betroffen. Eine alternative Methode ist PDO :: query () zu verwenden, und soll eine SELECT-Anweisung in der gleichen Bedingung Ausdruck SELECT COUNT (*) Anweisung zur Ausgabe und dann PDOStatement :: fetchColumn () verwenden, die Anzahl der zurückgegebenen Zeilen zu erhalten. Damit kann die Anwendung ordnungsgemäß ausgeführt.
<?php $sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100"; if ($res = $conn->query($sql)) { /* 检查符合 SELECT 语句的行数 */ if ($res->fetchColumn() > 0) { /* 发出一条真正的 SELECT 语句并操作返回的结果 */ $sql = "SELECT name FROM fruit WHERE calories > 100"; foreach ($conn->query($sql) as $row) { print "Name: " . $row['NAME'] . "\n"; } } /* 没有匹配的行 -- 执行其他 */ else { print "No rows matched the query."; } } $res = null; $conn = null; ?>
Das obige Beispiel Ausgabe lautet:
apple banana orange pear