2016-06-19 17:38:06 4267次浏览 6条回答 1 悬赏 10 金钱
if ($user->save()) {
    return true;
}

返回值为1
但是 实际并没有修改成功!
我该从哪里着手去调查这个问题呢?

最佳答案

  • njsjwf 发布于 2016-06-20 08:40 举报

    print_r($model->errors),打印,看看有什么错误提示

    1 条回复
    回复于 2016-06-20 09:20 回复

    没有错误如下:

    var_dump($user->getErrors());
    array(0) { }
    
  • 回答于 2016-06-20 08:37 举报

    有可能影响的记录为0,if里面改成$user->save()>0试试

    1 条回复
    回复于 2016-06-20 09:22 回复
    if ($user->save()>0) {
        var_dump($user->getErrors());
        exit;
        return true;
    }else{
        echo "php";
    }
    

    显示:
    array(0) { }
    请问怎么能查到保存的那条记录的SQL语句,日志里只能看到show和select

  • 回答于 2016-06-20 11:33 举报

    你 user 的验证规则有没有问题?
    $user->save(false); 这个试一试

  • 回答于 2016-06-20 16:25 举报
    print_r($user);
    //此处对比一下数据库的数据  
    if ($user->save()) {
        return true;
    }
    
    1 条回复
    回复于 2016-06-21 11:11 回复

    你好,原密码为111111,修改为555555后,数据库里有变化的,但再次登陆时,还是111111有效。

  • 回答于 2016-06-22 08:22 举报

    从头理,一步一步找问题。save方法在为新纪录时insert在不是新纪录时update

    Note that it is possible the update does not affect any row in the table. In this case, this method will return 0. 
    

    返回1就代表已经成功。
    检查是否是更新对了地方...

    3 条回复
    回复于 2016-06-22 09:13 回复

    yii-admin 在修改用户密码时有一个错误,把oldpassword转成newpassword 就可以了

    回复于 2016-12-15 21:13 回复

    你好,我也遇到这个问题,密码修改不生效,这是个什么问题,是哪里出错了吗?

    回复于 2016-12-17 13:28 回复

    你获取错误看看。我的是rule里少了一项。

您需要登录后才可以回答。登录 | 立即注册
okokad
经理

okokad

注册时间:2016-02-29
最后登录:2017-07-01
在线时长:49小时26分
  • 粉丝12
  • 金钱25
  • 威望80
  • 积分1315

热门问题