当前位置: 首页> 函数类别大全> PDOStatement::rowCount

PDOStatement::rowCount

返回受上一个SQL语句影响的行数
名称:PDOStatement::rowCount
分类:PDO
所属语言:php
一句话介绍:返回受上一个SQL语句影响的行数

PDOStatement::rowCount

适用PHP版本

PHP 5 >= 5.1.0, PHP 7, PHP 8 及以上版本

函数说明

PDOStatement::rowCount() 方法返回受最后执行的 SQL 语句影响的行数。通常用于执行 UPDATE、DELETE 或 INSERT 语句后,获取受影响的记录条数。

注意:对于某些数据库驱动,使用 SELECT 语句时,rowCount() 可能不会返回预期的行数,具体行为取决于数据库驱动实现。

函数语法

public PDOStatement::rowCount(): int

返回值

返回一个整数,表示受最后执行的 SQL 语句影响的行数。如果该语句没有影响任何行,则返回 0。

示例

以下示例展示了如何使用 PDOStatement::rowCount() 获取 UPDATE 操作影响的行数。

示例代码

<?php
try {
  $pdo = new PDO('mysql:host=localhost;dbname=testdb', 'username', 'password');
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $stmt = $pdo->prepare("UPDATE users SET status = 'active' WHERE last_login < DATE_SUB(NOW(), INTERVAL 1 YEAR)");
  $stmt->execute();

  $affectedRows = $stmt->rowCount();
  echo "更新了 " . $affectedRows . " 行。";
} catch (PDOException $e) {
  echo "错误: " . $e->getMessage();
}
?>

示例代码的说明

本示例连接一个 MySQL 数据库,准备一条 UPDATE 语句,将所有一年内未登录的用户状态改为“active”。执行语句后,通过调用 rowCount() 方法获取更新影响的行数,并输出结果。