PDOStatement :: rowCount
Manuale PHP DOP di riferimento
PDOStatement :: rowCount - restituisce l'istruzione SQL che si trova su un numero di righe interessate (PHP 5> = 5.1.0, PECL DOP> = 0.1.0)
spiegazione
grammatica
int PDOStatement::rowCount ( void )
PDOStatement :: rowCount () restituisce un DELETE, INSERT, UPDATE o influenzato il numero di righe eseguite dall'oggetto PDOStatement corrispondente.
Se l'istruzione SQL eseguita da un PDOStatement associata era una dichiarazione SELECT, alcuni dati possono trasferire il numero di righe restituite da questa dichiarazione. Tuttavia, questo metodo non può garantire che tutti i dati sono validi, e per applicazioni portatili non dovrebbe contare su questo metodo.
Valore di ritorno
Restituisce il numero di righe.
Esempi
Restituisce il numero di righe cancellato
PDOStatement :: rowCount () restituisce il numero di righe interessate da DELETE, INSERT, UPDATE o dichiarazione di impatto.
<?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"); ?>
L'output di esempio di cui sopra:
Return number of rows that were deleted: Deleted 9 rows.
Calcolato per il numero di righe restituite da un'istruzione SELECT
Per la maggior parte dei database, PDOStatement :: rowCount () non restituisce il numero di righe interessate da un'istruzione SELECT. Un metodo alternativo è quello di utilizzare DOP :: query () e destinato a rilasciare una dichiarazione SELECT nella stessa condizione espressione SELECT COUNT (*) dichiarazione, e quindi utilizzare PDOStatement :: fetchColumn () per ottenere il numero di righe restituite. In modo che l'applicazione può eseguire correttamente.
<?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; ?>
L'output sopra esempio è:
apple banana orange pear