当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-10 22:01:33 浏览: 评论:0 

一个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

Tags: php更新mysql mysql获取行数

分享到: