用Thinkphp的Save()方法执行update操作
$res=M('erp_goods')->where(array('goods_id'=>$goods_id,'attr'=>$goods_attr))->save($data); if($res===false){ $this->ajaxReturn(0);//更新失败 } else{ if($res>0){ $this->ajaxReturn(1);//更新成功 } else{ $this->ajaxReturn(2);//未更新 } }
$res是为返回结果
当执行失败时返回false。这个时候判断执行失败一定要用恒等于(===)来判断,因为如果用等于==的话,当$res返回0时,也是可以通过的。
当sql语句执行成功,但没有更改数据库(受影响行数为0),则返回0。
当sql语句执行成功,有更改数据库(受影响函数>0),则返回受影响的函数。
如果用原生的update语句,如何判断呢?
假设执行结果是$res
$res=mysql_query("UPDATE table_name SET column_name = new_value WHERE column_name = some_value"); if($res===false){ $this->ajaxReturn(0);//更新失败 } else{ if(mysql_affected_rows()>0){ $this->ajaxReturn(1);//更新成功 } else{ $this->ajaxReturn(2);//未更新 } }
————————————————
版权声明:本文为CSDN博主「gerberasn」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/landylxy/article/details/52593084