图片到数据库上传在 Codeigniter 中不起作用

Picture to database uploading not working in Codeigniter

我正在 CodeIgniter 框架上制作一个网站,以便用户可以将网站上的产品上传到数据库。我正在尝试制作一个功能,以便用户可以将图片上传到我的数据库,但它并没有真正起作用。

这里有一些信息: DB table 名称:产品 我要存储图片的DBtable列名:product_foto 图片文件夹:上传

My controller: 
    <?php
     defined('BASEPATH') OR exit('No direct script access allowed');
     class Product extends CI_Controller { 

     var $data = array();

     public function __construct()
     {
      parent::__construct();
      $this->load->model('product_model');
      $this->load->helper(array('form', 'url'));
     }

     public function product_form()
     {
      $save = array(
          'product_naam'          => $this->input->post('product_naam'),
          'product_beschrijving'          => $this->input->post('product_beschrijving'),
          'product_categorie'   => $this->input->post('product_categorie'),
          'ophaal_plaats'   => $this->input->post('ophaal_plaats'), 
          'product_foto'  => $this->input->post('product_foto'),
          'date_created' => date('Y-m-d'),
          'date_updated' => date('Y-m-d')
           );

      $this->product_model->saveProduct($save);
      redirect('https://kadokado-ferran10.c9users.io/AlleCadeausController');
     }


     public function upload(){
      $config['upload_path'] = './upload/';
      $config['allowed_types'] = 'jpg|jpeg|png';

      $this->load->library('upload', $config);
      if(!$this->upload->do_upload('file')){
        $this->db->insert('products', array(
           'product_foto' => $this->upload->file_name
           ));
       $error = array('error'=>$this->upload->display_errors());
       $this->load->view('product_form', $error);
      }else{
       $file_data = $this->upload->data();
       $data['img'] = base_url().'/upload/'.$file_data['file_name'];
       header('location:https://kadokado-ferran10.c9users.io/Product/');
       }
     }

    }

我的模型文件:

<?php
 defined('BASEPATH') OR exit('No direct script access allowed');
 class Product extends CI_Controller { 

    var $data = array();

我的视图文件:

<?php echo form_open_multipart('Product/upload'); ?>
    <input type="file" name="userfile" />

    <div class="form-group">
        <label for="name">Name</label>
        <input type="text" name="name">
    </div>

    <input type="submit" name="submit" value="test" />

</form>

当我提交表单时,图片只会添加到上传文件夹中,但不会添加到数据库列中..

按照以下方式更改您的 upload() 函数

public function upload(){
    $config['upload_path'] = './upload/';
    $config['allowed_types'] = 'jpg|jpeg|png';

    $this->load->library('upload', $config);

    if(!$this->upload->do_upload('userfile')){
        $error = array('error'=>$this->upload->display_errors());
        $this->load->view('product_form', $error);
    }else{
        $file_data = $this->upload->data();
        $this->db->insert('products', array(
            'product_foto' => $file_data['file_name']
            ));
        $data['img'] = base_url().'/upload/'.$file_data['file_name'];
        header('location:https://kadokado-ferran10.c9users.io/Product/');
    }
}