如何使用codeigniter在mysql中导入CSV文件

时间:2018-02-12 18:02:10

标签: php mysql codeigniter csv

我正在尝试在Mysql数据库中导入我的CSV文件,我正在使用PHP CodeIgniter框架。我在网上找到了一些解决方案,但没有找到正确的解决方案。 这是我的来源:

                  <div class="form-group col-lg-12 col-xs-12">

                <div class="row" id="excle_file_section">
                    <div class="form-group col-lg-12 col-xs-12">
                        <label for="usr">Select excle (CSV) file:</label>
                        <input type="file" name="csvFile" accept=".csv" class="form-control" id="usr" required="">
                    </div>
                 </div>
            </div>

这是我的模型功能:

   function insertBlock()
{
    try{

    $filename=$_FILES["csvFile"]["tmp_name"];       
    $Date =  $this->input->post('date');
    $Start_time =  $this->input->post('exam_start_time');
    $End_time =  $this->input->post('exam_end_time');
    $Subject = $this->input->post('exam_paper');
    $Shift_Name = $this->input->post('shift_name');

    $table = $Date.$Shift_Name;
    //$this->db->insert('exam_scheduler', $this);
    $sql = "CREATE TABLE IF NOT EXISTS `$table` (Id INT PRIMARY KEY AUTO_INCREMENT, Hall_Ticket_No VARCHAR(200) NULL,Name VARCHAR(200) NULL,Course VARCHAR(200) NULL);";
    $this->db->query($sql);


    if($_FILES["csvFile"]["size"] > 0)
    {
        $file = fopen($filename, "r");
        while (($getData = fgetcsv($file, 10000, ",")) !== FALSE)
         {

           $sql = "INSERT into $table (Hall_Ticket_No,Name,Course)values ('".$getData[0]."','".$getData[1]."','".$getData[2]."')";
               $this->db->query($sql);
        }
        fclose($file);  
    }

    }catch(Exception $e){
        echo 'Message: ' .$e->getMessage();
    }

    $data = array('content'=>'view_block');
    $this->load->view('template_master',$data);
}

这是错误:

Errors Image

1 个答案:

答案 0 :(得分:0)

您可以参考此文章来解决您的问题,这很容易http://www.webslesson.info/2017/10/import-csv-data-into-mysql-in-codeigniter.html?m=1