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

yipeiwu_com7年前Mysql基础
从manual上知道了mysql_affected_rows函数当UPDATE前后的数据一样时会返回异常值,

下面有个方便的解决办法,从官方munual上看到 bdobrica at gmail dot com 留言的:
As a solution to the problem pointed in the post reffering to mysql_affected_rows() returning 0 when you are making an update query and the fields are not modified although the query is valid, i'm posting the following function. It is very simple and based on a previous post.
复制代码 代码如下:

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;
}

PS:因为这个小问题折腾了半天,感觉php真是太不清晰了

相关文章

php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置

php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置

php环境的配置,对于新手来说,绝对是一件烦事。总会遇到这样那样的问题,走很多弯路。所以今天特意写了这个配置文档,相信按照以下步骤你一定会成功的。错误的地方也希望各位指正。 更多文章 p...

PHP mysqli事务操作常用方法分析

本文实例讲述了PHP mysqli事务操作常用方法。分享给大家供大家参考,具体如下: 1、 //打开(true)或关闭(false)本次数据库连接的自动命令提交事务模式 //参数如果...

PHP以及MYSQL日期比较方法

MYSQL日期比较 TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; 我们的date_col必须是日期时间格式,而不能是时间戳, mysql>...

php调用mysql存储过程

前面转载了一篇《php调用mysql存储过程的文章》经过测试,发现文章中的方法似乎不可行! 调用带有select语句的存储过程就出现 PROCEDURE p ...

php实现mysql连接池效果实现代码

循环从mysql连接池中获取连接,不需要重复创建新的连接。 参考配置修改:可以参考下面的文章 防止访问量过大,把连接数占满了 <?php /** * @author...