This article mainly introduces the relevant usage methods and efficiency issues of the rowCount function of PDO. Friends who need it can refer to it
PDO has a function PDOStatement::rowCountReturns the number of rows affected by the previous SQL statement. The result of the
rowCount function is correct for the DELETE, INSERT, or UPDATE statement, but for the select statement it is related to the implementation of the database. Some databases will read all the result sets into memory when executing a select statement, but for a huge number of result sets, this is obviously inefficient. Most databases will only return part of the result set, and then return the rest of the result set when needed, so that both memory usage and execution efficiency are optimized. In the latter case, rowCount cannot return the correct number of rows in the SELECT statement result set. There are several ways to get the correct number of rows in the SELECT result
1. Use the fetchAll function $q = $db->query("SELECT ..."); $rows = $q->fetchAll (); $rowCount = count($rows);
2. Use the sql count function $q = $db->query("SELECT count(*) from db;"); $rows = $q-> ;fetch(); $rowCount = $rows[0];
Obviously the second method is more efficient
Instance
ReturnDelete Row Count
PDOStatement::rowCount() Returns the number of rows affected by a DELETE, INSERT, or UPDATE statement.
<?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"); ?>
The above example output:
Return number of rows that were deleted: Deleted 9 rows.
The above is the detailed content of Detailed explanation of PDO rowCount() function. For more information, please follow other related articles on the PHP Chinese website!