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

时间:2021-05-26

本文实例讲述了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示例代码如下:
复制代码 代码如下: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;
}

希望本文所述对大家的php程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章