Home > Article > Backend Development > A brief discussion on the rowCount function of PDO, a brief discussion on the pdorowcount_PHP tutorial
PDO has a function PDOStatement::rowCount that returns the number of rows affected by the previous SQL statement.
The result of the rowCount function is correct for DELETE, INSERT, or UPDATE statements, but for select statements, 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
The above is the entire content of this article, I hope you all like it.