Home>Article>Backend Development> Detailed explanation of PDO rowCount() function

Detailed explanation of PDO rowCount() function

怪我咯
怪我咯 Original
2017-07-12 10:45:23 3764browse

This article mainly introduces the relevant usage methods and efficiency issues of the rowCountfunctionofPDO. Friends who need it can refer to it

PDO has a functionPDOStatement::rowCountReturns the number of rows affected by the previous SQL statement. The result of the

rowCount function is correct for theDELETE, INSERT, or UPDATEstatement, 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

ReturnDeleteRow Count

PDOStatement::rowCount() Returns the number of rows affected by a DELETE, INSERT, or UPDATE statement.

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn