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

yipeiwu_com6年前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真是太不清晰了

相关文章

备份mysql数据库的php代码(一个表一个文件)

复制代码 代码如下: <?php $cfg_dbhost ='localhost';//mysql主机 $cfg_dbname ='sq_test';//数据库名 $cfg_dbu...

How do I change MySQL timezone?

However, there are ways for you to get results t...

解析mysql 表中的碎片产生原因以及清理

大量删除数据必然会在数据文件中造成不连续的空白空间,而当插入数据时,这些空白空间则会被利用起来 。对于不同的存储引擎整理碎片的方式不一样。myisam可以有以下方式:mysql>...

php封装的连接Mysql类及用法分析

本文实例讲述了php封装的连接Mysql类及用法。分享给大家供大家参考,具体如下: class mysql{ private $db_name; private $db_host;...

PHP基于MySQL数据库实现对象持久层的方法

本文实例讲述了PHP基于MySQL数据库实现对象持久层的方法。分享给大家供大家参考。具体如下: 心血来潮,做了一下PHP的对象到数据库的简单持久层。 不常用PHP,对PHP也不熟,关于P...