Php Codeigniter/REST显示不正确的结果

Php Codeigniter/REST显示不正确的结果,php,codeigniter,Php,Codeigniter,但是,我正在尝试使用CodeIgniter和REST控制器()创建登录脚本;我一直从我的模型中得到一个空响应 这是我的模型函数 public function login($data) { $checkEmail = $this->db->get_where('users', array('email' => $data['email'])); $emailRow = $checkEmail->row(); if

但是,我正在尝试使用CodeIgniter和REST控制器()创建登录脚本;我一直从我的模型中得到一个空响应

这是我的模型函数

public function login($data)
    {
        $checkEmail = $this->db->get_where('users', array('email' => $data['email']));

        $emailRow = $checkEmail->row();

        if(isset($emailRow)) {

            if (password_verify($data['password'], $emailRow->password)) {

                return $emailRow->id;

            } else {

                return false;

            }

        } else {

            return false;

        }
    }
这是我的控制器

public function login_post()
    {
        $this->load->model('User_model');

        $data = $this->_post_args;

        if($this->form_validation->run() === FALSE) {

        //does some unnecessary stuff thats pointless showing

            $this->set_response([
                'status' => FALSE,
                'error' => $error
            ], REST_Controller::HTTP_BAD_REQUEST);

        } else {

            $login = $this->User_model->login($data);

            if($login === TRUE) {

                $user = $this->User_model->getUser($login);

                $this->set_response([
                    'status' => TRUE,
                    'user' => $user
                ], REST_Controller::HTTP_ACCEPTED);

            } else {

                $this->set_response([
                    'status' => FALSE,
                    'error' => 'Nope'
                ], REST_Controller::HTTP_BAD_REQUEST);

            }

        }
    }

每次我运行它时,我都会收到“nope”错误消息,
$login
如果我将其转储,则返回为null?有人有什么想法吗?

在控制器中,您正在检查:

if($login === TRUE) {
不幸的是,对于您的控制器,模型将从不返回
TRUE
,因此您的代码每次都会落入
else{}
块中

您的模型只返回
FALSE
$emailRow->id的值

作为即时解决方案,您可以尝试:

if($login !== FALSE) {

我犯了一个多么愚蠢的错误!非常感谢你,我总是怀念那些愚蠢的错误。我猜这就是当你连续几个小时开始编写代码时会发生的情况,不客气。在某个时刻,“结束的日子”将成为你的新常态,你会回忆起你只“结束的时间”的时代。你能做的最好的事情就是养成良好调试方法的习惯(