不能使用CodeIgniter上传图片 错误显示我的文件名在数据库中没有列。

问题描述 投票:0回答:1

大家好,我想问一下为什么我不能在数据库中上传我的图片,当我想上传时为什么不显示我的列名而不是我的图片文件名 错误是

Error Number: 1054

Unknown column 'Avanza.jpg' in 'field list'

INSERT INTO `upload` (`Avanza`.`jpg`) VALUES ('')

Filename: C:/xampp/htdocs/codeigniter/system/database/DB_driver.php

Line Number: 691

这是我的代码

用于控制器

function file_data(){
      $config['upload_path'] = './uploads';
      $config['allowed_types'] = 'jpg|png|jpeg|gif';
      $config['max_size'] = '2048';  //2MB max
      $config['max_width'] = '4480'; // pixel
      $config['max_height'] = '4480'; // pixel
      $config['file_name'] = $_FILES['fotopost']['name'];

      $this->upload->initialize($config);

        if (!empty($_FILES['fotopost'])) {
            if ( $this->upload->do_upload('fotopost') ) {
                $foto = $this->upload->data();
                $data = $foto['file_name'];
                $this->upload_foto->save_pic($data);
              redirect('');
            }else {
              die("gagal upload");
            }
        }else {
          echo "tidak masuk";
        }
   }

这是给我的模型

class Upload_foto extends CI_Model{

    function save_pic($data){

        $this->db->insert('upload',$data);

      }
  }

谢谢你的帮助

php codeigniter-3
1个回答
0
投票

你的错误信息正在告诉你什么是错的。

基本上它说--我不知道一个叫 "fluffybunny.jpg "的列名(随机选择的文件名)。

它期待的是一个列名和一个值。

假设你的 表列名称为您的图像文件文件名那么你的$data需要是一个数组,比如... ...

$data['file_name'] = $foto['file_name'];

所以你需要插入的是一个关联数组['field_name' => 'value']。

注意:阅读CodeIgniter用户指南也是很有好处的。

© www.soinside.com 2019 - 2024. All rights reserved.