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

作者:袖梨 2022-06-24

下面就是文章的主要内容描述。

 代码如下 复制代码

found_rows() : select
row_count() : update delete insert

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

示例:

 代码如下 复制代码

drop database if exists `mytest`;
create database `mytest`;
use `mytest`;

drop table if exists `MyTestTable`;
create table `MyTestTable`(`ID` int ,`Name` varchar(10));

insert into `MyTestTable`(`ID`,`Name`)
select '1','role1' union all
select '2','role2' union all
select '3','role3';
select row_count(); -- 输出3(返回新添加的记录数),[注:如果使用insert into...values只返回1]

select * from `MyTestTable`;select found_rows(); -- 输出3(返回选择的行数)
update `MyTestTable` set `Name`='people';select row_count(); -- 输出3(返回修改的行数)
delete from `MyTestTable`;select row_count(); -- 输出3(返回删除的行数)


php更新mysql后获取影响的行数发生异常解决

 代码如下 复制代码

function mysql_modified_rows () {
        $info_str = mysql_info();
        $a_rows = mysql_affected_rows();
        ereg("Rows matched: ([0-9]*)", $info_str, $r_matched);
        return ($a_rows < 1)?($r_matched[1]?$r_matched[1]:0):$a_rows;
}

相关文章

精彩推荐