无法使用带有查询生成器的CodeIgniter登录

时间:2018-09-09 05:38:05

标签: sql codeigniter-3 query-builder codeigniter-query-builder

我正在创建一个应用程序,用户可以在其中注册和登录以添加任务并实现该任务,我尝试使用查询生成器。但是,我无法使用该用户登录。这是我在 Code Igniter 中使用查询构建器的代码示例片段:

public function login_user($username = null, $password = null){
            if (is_null($username) || is_null($password) {
                return false;
            }else{
                if (password_verify($password, $db_password)) {

                    $db_password = $result->row(6)->password;

                    $result = $this->db->where('username', $username)
                              where('password', $password)
                              ->get('users');

                               if(!empty($result)){
                                    return $result->row(0)->id;
                                }return false;
                            }
                }
            }

1 个答案:

答案 0 :(得分:0)

在修改了一些代码本身后,我开始使用它。我无法登录的原因是这样的事实:我在密码验证后获取数据库,这将无法正常工作,并且不会获取$db_password变量的结果。这是我对代码进行的一些修改,可以使它起作用:

public function login_user($username = null, $password = null){
            if(is_null($username) || is_null($password)){
                return false;
            }else{
                $this->db->where('username', $username);

                $result = $this->db->get('users');

                $db_password = $result->row(6)->password;

                if(!empty($result)){
                    //Decrypt password from database when the user logs in 
                    if (password_verify($password, $db_password)) {

                        return $result->row(0)->id;

                    }return false;
                }return false;  
            }