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

时间:2022-08-25 16:43:38

从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真是太不清晰了