MySQL PDO 执行语句时如何获取受影响行数

MySQL PDO 执行语句时如何获取受影响行数

在使用PHP操作MySQL数据库时,PDO是比较常用的扩展库。而在执行一些操作语句时,有时需要知道该语句影响的行数。本文将介绍在使用PDO执行语句时,如何获取受影响行数。

阅读更多:MySQL 教程

PDO::exec()

PDO::exec()是一个执行SQL语句的方法,执行成功时返回影响的行数。它的基本语法为:

public int PDO::exec ( string $statement )

其中$statement为需要执行的语句,返回影响的行数。如果无法执行语句,则返回false。

比如以下代码:

$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'password');
$sql = "UPDATE user SET age = 20 WHERE sex = 'female'";
$rowCount = $pdo->exec($sql);
echo "受影响行数:" . $rowCount;

该代码用PDO更新用户表user中性别为female的年龄为20,执行完毕后输出受影响行数。

PDOStatement::rowCount()

另一个获取受影响行数的PDO方法是PDOStatement::rowCount(),它返回上一个由这个PDOStatement对象执行的UPDATE、DELETE、INSERT等SQL语句所影响的行数。

它的基本语法为:

public int PDOStatement::rowCount ( void )

比如以下代码:

$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'password');
$sql = "UPDATE user SET age = 20 WHERE sex = 'female'";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$rowCount = $stmt->rowCount();
echo "受影响行数:" . $rowCount;

该代码用PDO执行预处理后更新用户表user中性别为female的年龄为20,执行完毕后输出受影响行数。

总结

以上便是使用PDO执行语句时获取受影响行数的方法,可以根据具体需求选择使用哪种方法。需要注意的是,在使用PDO执行语句时,有时也可能出现0行受影响的情况,此时上面的方法都会返回0。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程