牛骨文教育服务平台(让学习变的简单)
博文笔记

【PHP】【Mysql】【thinkphp】,Thinkphp save()方法执行update操作的返回值问题

创建时间:2016-09-20 投稿人: 浏览次数:161

用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);//未更新
                   }
               }

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。