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

前端之家收集整理的这篇文章主要介绍了php更新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.
<div class="codetitle"><a style="CURSOR: pointer" data="52468" class="copybut" id="copybut52468" onclick="doCopy('code52468')"> 代码如下:

<div class="codebody" id="code52468">
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相关文章