Php Codeigniter错误缺少参数

Php Codeigniter错误缺少参数,php,mysql,codeigniter,Php,Mysql,Codeigniter,我连接了用户的id,并将其作为参数传递给我的控制器addquestion$id,但我不断收到以下错误: 遇到PHP错误严重性:警告 消息:缺少Questions::addquestion的参数1 文件名:controllers/questions.php 电话号码:49 遇到一个PHP错误 严重性:通知 消息:未定义变量:id 文件名:controllers/questions.php 电话号码:67 发生数据库错误 错误号码:1048 “问题\用户\ id”列不能为空 在'questions'

我连接了用户的id,并将其作为参数传递给我的控制器addquestion$id,但我不断收到以下错误:

遇到PHP错误严重性:警告 消息:缺少Questions::addquestion的参数1 文件名:controllers/questions.php 电话号码:49 遇到一个PHP错误 严重性:通知 消息:未定义变量:id 文件名:controllers/questions.php 电话号码:67 发生数据库错误 错误号码:1048 “问题\用户\ id”列不能为空 在'questions'`question\u user\u id'中插入'question'值NULL,'sdf' 文件名:C:\xampp\htdocs\webdev\askme\system\database\DB\u driver.php 电话号码:330 以下是我的看法:

询问用户 id,/“提问”;?>-> 这是我控制器中的addquestion函数:

公共函数addquestion$id//第49行 { $this->form_validation->set_rules'question'、'Your question'、'trim | required | xss_clean'; 如果$this->form\u validation->run==FALSE { //负载视图和布局 $data['main_content']='questions/add_question'; $this->load->view'layouts/main',$data; } 其他的 { //验证已运行并通过 //将值发布到数组 $data1=数组 'question\u user\u id'=>$id, 'question'=>this->input->post'question' ; 如果$this->Questions\u model->create\u question$data1 { $this->session->set_flashdata'question_created'、'question sent'; //重定向到带有上述通知的索引页 重定向“主页/索引”; } } }
请帮帮我,我不知道出了什么问题

您正在向数据库字段发送空值,它不能为空,或者尝试使您的问题\u用户\u id可以为空 因此,您的$id不能为空,它需要任何值,因此请使用检查

 else {
       if(empty($id)) 
          redirect('home'); // redirect to any page
        $data1 = array(   
            'question_user_id' => $id,    
            'question' => $this->input->post('question')
        );
请试试这个:

      public function addquestion($id='')

错误不在您粘贴的代码中。。。它位于控制器中,您可以在其中向addquestion方法提供请求参数或$id的来源。第49行的代码在哪里?公共函数addquestion$id在第49行似乎$id设置不正确。我不明白,因为如果我回显$id,我会得到一个值。但是当我将它用作db字段的值时,它返回空。如果我只回显$id,我会得到一个值。为什么,我不能使用$id作为我的'question\u user\u id'db字段的值?我得到了$id部分,现在我不能添加问题,它不会重定向到我的视图。。不过谢谢你