尝试从文本输入添加动态值到codeigniter中的数据库,但单个记录值未保存在同一行中

vs91vp4v  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(73)

我的控制器方法

public function storePost(){
  foreach ($this->input->post('addmore') as $key=> $value) {
    $this->db->insert('filedata',$value);
  }
}

enter image description here

igetnqfo

igetnqfo1#

您不需要foreach循环来执行插入操作。如果输入字段与数据库字段具有 * 完全相同的名称 *,并且您一次只想插入一行,则可以执行以下操作:

public function storePost(){
  $this->db->insert('filedata', $this->input->post());
}

如果您希望对post参数进行更多控制并指定它们,可以执行以下操作:

public function storePost(){
  $data = array('Image'=>$this->input->post('Image'),
                'Title'=>$this->input->post('Title'),
                'Description'=>$this->input->post('Description'),
                'Qty'=>$this->input->post('Qty'),
                'Price'=>$this->input->post('Price'),
                'Date'=>$this->input->post('Date')
                );
  $this->db->insert('filedata', $data);
}

如果使用Codeigniter 4,则使用请求类和$request->getVar('fieldname')而不是$this->input->post('fieldname')
请参见文档:Codeigniter 4请求类别:https://codeigniter.com/user_guide/incoming/incomingrequest.html?highlight=post#getVar
Codeigniter 3输入类别:https://codeigniter.com/userguide3/libraries/input.html#using-post-get-cookie-or-server-data

相关问题