库输入 class 在 php codeigniter 中不工作

library input class not working in php codeigniter

我正在使用 codeigniter REST API。在我的 API 调用中,我试图从 $this->input->get('id') 中获取值,但没有从 get 中获取任何值。

public function data_get($id_param = NULL){ 

    $id = $this->input->get('id');

    if($id===NULL){
        $id = $id_param;
    }
    if ($id === NULL)
    {
        $data = $this->Make_model->read($id);
        if ($data)
        {

            $this->response($data, REST_Controller::HTTP_OK); 
        }
        else
        {
            $this->response([
                'status' => FALSE,
                'error' => 'No record found'
            ], REST_Controller::HTTP_NOT_FOUND); 
        }
    }
    $data = $this->Make_model->read($id);
    if ($data)
    {
        $this->set_response($data, REST_Controller::HTTP_OK);   
    }
    else
    {
        $this->set_response([
            'status' => FALSE,
            'error' => 'Record could not be found'
        ], REST_Controller::HTTP_NOT_FOUND); 
    }
 }

在上面的代码中,$id 没有 return 任何值。

请将您的代码从 $id = $this->input->get('id'); 更改为 $id = $this->get('id'); 这应该可以解决您的问题。

希望对您有所帮助:

使用 $this->input->get('id')$this->get('id') 都应该有效

您的 data_get 方法应该是这样的:

public function data_get($id_param = NULL)
{ 

    $id = ! empty($id_param) ? $id_param : $this->input->get('id');
    /* 
     u can also use this
     $id = ! empty($id_param) ? $id_param : $this->get('id');
    */
    if ($id)
    {
        $data = $this->Make_model->read($id);
        if ($data)
        {

            $this->response($data, REST_Controller::HTTP_OK); 
        }
        else
        {
            $this->response([
                'status' => FALSE,
                'error' => 'No record found'
            ], REST_Controller::HTTP_NOT_FOUND); 
        }
    }
    else
    {
        $this->response([
            'status' => FALSE,
            'error' => 'No id is found'
        ], REST_Controller::HTTP_NOT_FOUND); 
    }
}