您的位置:

使用affectedrows来测量数据库更新行数的方法

一、什么是affectedrows?

在将数据库的操作更新到PHP页面上时,我们可能会关注每个操作更新了多少行数据。affectedrows是指数据库操作执行后,受影响的数据行数,它的值只能在脚本使用查询后所返回的行数相同。这意味着,操作成功时,affectedrows返回刚才在数据库中操作的记录行数。使用affectedrows是一种有效测量查询语句执行所影响的行数的方法,尤其是对于UPDATE、 DELETE和INSERT INTO语句,在PHP中,可以通过mysqli_ affected_ rows()或PDO::rowCount()函数获取affectedrows的值。

二、使用mysqli_affected_rows()实现affectedrows测量

mysqli连接对象是一种用于访问MySQL数据库服务器的连接对象。当使用mysqli操作数据库时,可以用mysqli_affected_ rows()函数返回前一次操作所影响的记录行数。

//建立mysqli连接对象
$conn = mysqli_connect('localhost','username','password','database');

if($conn) {
   //执行SQL语句
   $sql = "UPDATE user SET age =32 WHERE id =1";
   mysqli_query($conn,$sql);
  
   //获取更新行数
   $num = mysqli_affected_rows($conn);
  
   //输出更新行数
   echo $num; 

   //关闭mysqli连接
   mysqli_close($conn);
} 

三、使用PDO::rowCount()实现affectedrows测量

PDO是PHP Data Objects的缩写,是PHP5中一个为数据访问抽象和数据库交互提供了一种简单和一致的方法的轻量级框架。使用PDO连接数据库时,可以用PDO::rowCount()函数返回前一次操作所影响的记录行数。

//建立PDO连接对象
$conn =new PDO("mysql:host=localhost;dbname=database",'username','password');
  
if($conn){
   //执行SQL语句
   $sql = "UPDATE user SET age =32 WHERE id =1";
   $conn->exec($sql);
  
   //获取更新行数
   $num = $conn->rowCount();
  
   //输出更新行数
   echo $num;

   //关闭PDO连接
   $conn= null;
}

四、使用affectedrows测量INSERT INTO语句的行数

使用INSERT INTO语句时,默认情况下,受影响的行数为1,因为INSERT INTO语句只插入一行数据。但是,如果使用INSERT INTO语句插入多行数据,则affectedrows将返回插入的行数。

//建立mysqli连接对象
$conn = mysqli_connect('localhost','username','password','database');

if($conn) {
   //执行SQL语句
   $sql = "INSERT INTO user(id, name, age) VALUES
           ('2','zhangsan','18'),
           ('3','lisi','19'),
           ('4','wangwu','20')";
   mysqli_query($conn,$sql);
  
   //获取插入行数
   $num = mysqli_affected_rows($conn);
  
   //输出更新行数
   echo $num; 

   //关闭mysqli连接
   mysqli_close($conn);
} 

五、使用affectedrows测量DELETE语句的行数

使用DELETE语句可以删除一个或多个记录行。在这种情况下,affectedrows会返回删除的行数。

//建立mysqli连接对象
$conn = mysqli_connect('localhost','username','password','database');

if($conn) {
   //执行SQL语句
   $sql = "DELETE FROM user WHERE age >20";
   mysqli_query($conn,$sql);
  
   //获取删除行数
   $num = mysqli_affected_rows($conn);
  
   //输出删除行数
   echo $num;

   //关闭mysqli连接
   mysqli_close($conn);
} 

六、总结

使用affectedrows可以第一时间获知数据库操作对于表所影响的行数,这样便于针对性的排除一些问题, 同时,因为affectedrows是数据库返回的结果,所以它的准确性是可以保证的,能够避免像手动检查操作结果的时候这样的人为出错。

使用affectedrows来测量数据库更新行数的方法

2023-05-11
php的数据库接口(php的数据库接口框架)

2022-11-09
数据库的笔记mysql,数据库管理系统笔记

2022-11-24
php更新记录,php动态更新数据

2022-11-30
mysql数据库完整笔记(mysql数据库数据)

2022-11-13
mysql数据库笔记1000行,sql数据库查询最后1000

2022-11-23
php新手笔记,php初学者

2022-11-19
jsp数据库笔记,jsp写入数据库

本文目录一览: 1、怎么用jsp连接mysql数据库 2、jsp中怎么使用数据库 3、JSP 从数据库中如何取得图片的路径? 怎么用jsp连接mysql数据库 一. 数据库的连接和操作笔记:1.初始化

2023-12-08
php更新数据库,php更新数据库成功

2023-01-06
phpmysql批量更新(mysql批量更新千万数据)

2022-11-14
php循环更新数据表,php循环更新数据表怎么做

2023-01-07
mysql数据库番外篇之(MySQL数据库笔记)

2022-11-16
php教程笔记复习1(细说php读书笔记)

2022-11-10
mysql数据库开发笔记(mysql数据库应用案例教程电子版

2022-11-14
php更新数据库字段的函数是,php更新数据库字段的函数是

2022-11-22
php引用计数,php 科学计数法

2022-11-24
php怎么在数据库更新数据,php增加数据库数据

2022-11-26
php怎么把数据更新回数据库,php修改数据库数据

2023-01-06
连接mysql数据库笔记1(如何连接数据库mysql)

2022-11-10
数据库和php关系,php可以你的数据库中的数据

2022-11-23