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

yipeiwu_com4年前Mysql基础

本文实例讲述了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程序设计有所帮助。

相关文章

新安装的MySQL数据库需要注意的安全知识

在Unix(Linux)上,在按照手册的指令安装好MySQL后,你必须运行mysql_install_db脚本建立包含授权 表的mysql数据库和初始权限。在Windows上,运行分发中...

PHP+mysql实现的三级联动菜单功能示例

本文实例讲述了PHP+mysql实现的三级联动菜单功能。分享给大家供大家参考,具体如下: 数据库mysql -- 数据库: `student` -- -- -------------...

php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例

php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例

本文实例讲述了php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率。分享给大家供大家参考,具体如下: <?php /** * 测试pdo和mysql...

PHP+MySql+jQuery实现的"顶"和"踩"投票功能

本文实例为大家分享了基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码,供大家参考,具体内容如下 数据库操作: CREATE TABLE IF NOT EXISTS `vo...

PHP程序员最常犯的11个MySQL错误小结

对于很多新手们来说,使用PHP可以在短短几个小时之内轻松地写出具有特定功能的代码。但是,构建一个稳定可靠的数据库却需要花上一些时日和相关技能。下面列举了我曾经犯过的最严重的11个MySQ...