Latest web development tutorials

PDOStatement :: rowCount

PHP PDO Reference Manual PHP PDO Reference Manual

PDOStatement :: rowCount - Returns the SQL statement that is on a number of rows affected (PHP 5> = 5.1.0, PECL pdo> = 0.1.0)


Explanation

grammar

int PDOStatement::rowCount ( void )

PDOStatement :: rowCount () returns a DELETE, INSERT, or UPDATE statement affected the number of lines executed by the corresponding PDOStatement object.

If the SQL statement executed by an associated PDOStatement was a SELECT statement, some data may return the number of rows returned by this statement. However, this method can not guarantee that all data is valid, and for portable applications should not rely on this method.


return value

Returns the number of rows.


Examples

Returns the number of rows deleted

PDOStatement :: rowCount () returns the number of rows affected by DELETE, INSERT, UPDATE, or impact 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.

Calculated by the number of rows returned by a SELECT statement

For most databases, PDOStatement :: rowCount () does not return the number of rows affected by a SELECT statement. An alternative method is to use PDO :: query () and intended to issue a SELECT statement in the same condition expression SELECT COUNT (*) statement, and then use PDOStatement :: fetchColumn () to get the number of rows returned. So that the application can execute properly.

<?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;
?>

The above example output is:

apple
banana
orange
pear

PHP PDO Reference Manual PHP PDO Reference Manual