0

My image is upload into the respective folder and I try to save it name to database but still can and error occur

public function add_posts() {

                $this->load->helper('form');
                $this->load->library('form_validation');
                $this->form_validation->set_rules('title','Title','required');
                if($this->form_validation->run() === FALSE) {
                     $this->load->view('posts/add');
                }
                else {
                    $this->load->model('Posts_Model');
                    $data = array(
                        'title' => $this->input->post('title'),
                        'body' => $this->input->post('body'),
                        'cover' => $this->input->post('cover'));
                        //---image upload ---//
                        $config['upload_path']          = './uploads/';
                        $config['allowed_types']        = 'gif|jpg|png';

                        $this->load->library('upload', $config);
                        if ( ! $this->upload->do_upload('cover')) {
                            $error = array('error' => $this->upload->display_errors());
                            $this->load->view('posts/add', $error);
                        } else {
                            $data =  $this->upload->data();
                            $cover = $data['file_name'];
                            $data['cover'] = $cover;
                        }

                        //---End image upload---//
                    $this->Posts_Model->insert($data);

                    $query = $this->db->get("posts");
                    $data['records'] = $query->result();
                    $this->load->view('posts/index',$data);
                }

            }

Here is my function in my controller only the name of image (cover) can't insert into database and other work respectively. The Database Error Occur

A Database Error Occurred

Error Number: 1054

Unknown column 'file_name' in 'field list'

INSERT INTO `posts` (`file_name`, `file_type`, `file_path`, `full_path`, `raw_name`, `orig_name`, `client_name`, `file_ext`, `file_size`, `is_image`, `image_width`, `image_height`, `image_type`, `image_size_str`, `cover`) VALUES ('la.jpg', 'image/jpeg', '/vagrant/uploads/', '/vagrant/uploads/la.jpg', 'la', 'la.jpg', 'la.jpg', '.jpg', 22.38, 1, 1200, 700, 'jpeg', 'width=\"1200\" height=\"700\"', 'la.jpg')

Filename: models/Posts_Model.php

Line Number: 8

Masivuye Cokile
  • 4,754
  • 3
  • 19
  • 34
Tommy
  • 9
  • 3
  • See [When to use single quotes, double quotes, and backticks in MySQL](http://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and-backticks-in-mysql) – Masivuye Cokile May 09 '17 at 08:01
  • 1
    Possible duplicate of [How to upload image path and name to database - Codeigniter](http://stackoverflow.com/questions/16190381/how-to-upload-image-path-and-name-to-database-codeigniter) – Masivuye Cokile May 09 '17 at 08:02
  • Also see [Why should I use prepared statements at all times](http://stackoverflow.com/questions/24988867/when-should-i-use-prepared-statements/24989031#24989031) – Masivuye Cokile May 09 '17 at 08:09

1 Answers1

0

double check your table 'post', and see if file_name field exist in the table,

apelidoko
  • 782
  • 1
  • 7
  • 23