网站地图    收藏   

主页 > php专栏 > php应用 >

php更新mysql后获取改变的行数 - php高级应用

来源:自学PHP网    时间:2014-11-27 22:16 作者: 阅读:

[导读] 一个php更新mysql后获取改变的行数,在php中提供mysql函数来获取最后执行查询所影响的记录数:mysql_affected_rows(), 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的......

php更新mysql后获取改变的行数

一个php更新mysql后获取改变的行数,在php中提供mysql函数来获取最后执行查询所影响的记录数:mysql_affected_rows(), 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数.FOUND_ROWS() : select ROW_COUNT():update delete insert.

下面就是文章的主要内容描述,代码如下:

found_rows():select

row_count(): update delete insert

注:需要配合相应的操作一起使用,否则返回的值只是1和-1(都是不正确的值)

php示例代码如下:

  1. drop database if exists `mytest`;  
  2. create database `mytest`;  
  3. use `mytest`; 
  4. drop table if exists `MyTestTable`;  
  5. create table `MyTestTable`(`ID` int ,`Name` varchar(10)); 
  6. insert into `MyTestTable`(`ID`,`Name`)  
  7. select '1','role1' union all  
  8. select '2','role2' union all  
  9. select '3','role3';  
  10. select row_count(); -- 输出3(返回新添加的记录数),[注:如果使用insert into...values只返回1] 
  11. select * from `MyTestTable`;select found_rows(); -- 输出3(返回选择的行数)  
  12. update `MyTestTable` set `Name`='people';select row_count(); -- 输出3(返回修改的行数)  
  13. delete from `MyTestTable`;select row_count(); -- 输出3(返回删除的行数) 

php更新mysql后获取影响的行数发生异常解决,代码如下:

  1. function mysql_modified_rows () {  
  2.         $info_str = mysql_info();  
  3.         $a_rows = mysql_affected_rows();  
  4.         ereg("Rows matched: ([0-9]*)"$info_str$r_matched);  
  5.         return ($a_rows < 1)?($r_matched[1]?$r_matched[1]:0):$a_rows;  
  6. }//开源代码phpfensi.com

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论