ThinkPHP如何判断一个更新操作是否成功

ThinkPHP 内置的 save 方法用于向数据表更新数据,相当于 SQL 中的 UPDATE 行为。

ThinkPHP save() 方法

ThinkPHP 中使用 save() 方法来更新数据库,并且也支持连贯操作的使用。

 

例子:

public function update(){
    header("Content-Type:text/html; charset=utf-8");
    $Dao = M("User");

    // 需要更新的数据
    $data['email'] = 'Jack@163.com';
    // 更新的条件
    $condition['username'] = 'Jack';
    $result = $Dao->where($condition)->save($data);
    //或者:$resul t= $Dao->where($condition)->data($data)->save();

    if($result !== false){
        echo '数据更新成功!';
    }else{
        echo '数据更新失败!';
    }
}

上面例子执行的 SQL 语句为:

UPDATE user SET email='Jack@163.com' WHERE username='Jack'

 

 在tp中更新用到的是save方法,save方法返回值是更新操作影响的记录数,有可能影响的记录数为0,但却更新成功的。

 

 更新数据分为两种情况:

1.更新成功。返回影响行数。如果数据没有变动则返回 0
2.更新失败。返回 false
所以判断可以使用

if($result ! == false ){

    //成功

}

 

mysql中如果更新的值没变化,则返回0. 但是在mssql中无论更新的值是否有变化,只要update了,就返回受影响的行数。。。切记

 

posted @ 2015-09-15 16:34  thekingofreturn  阅读(2253)  评论(0编辑  收藏  举报