首页 > 解决方案 > 使用 Insert_batch 但在 mysql 循环中为空

问题描述

我正在使用插入批处理来插入超过 1 个数据(数组),它可以工作,但在 MySQL 中显示数据正在循环大量空数据

已尝试使用常规插入但不起作用,因为数据是数组

控制器

public function importpenelitian(){
        // Load plugin PHPExcel nya
        include APPPATH.'third_party/PHPExcel/PHPExcel.php';

        $excelreader = new PHPExcel_Reader_Excel2007();
        $loadexcel = $excelreader->load('excel/'.$this->filename.'.xlsx'); // Load file yang telah diupload ke folder excel
        $sheet = $loadexcel->getActiveSheet()->toArray(null, true, true ,true);

        // Buat sebuah variabel array untuk menampung array data yg akan kita insert ke database
        $data = array();

        $numrow = 1;
        foreach($sheet as $row){
            // Cek $numrow apakah lebih dari 1
            // Artinya karena baris pertama adalah nama-nama kolom
            // Jadi dilewat saja, tidak usah diimport
            if($numrow > 1){
                // Kita push (add) array data ke variabel data
                array_push($data, array(
                    'Inisial'=>$row['B'], // Insert data Insiial dari kolom B di excel
                    'Jurusan'=>$row['C'], // Insert data Jurusan dari kolom B di excel
                    'Prodi'=>$row['D'], // Insert data Prodi dari kolom C di excel
                    'Jenis_Hibah'=>$row['E'], // Insert data Jenis Hibah dari kolom E di excel
                    'Tahun'=>$row['F'], // Insert data Tahun dari kolom F di excel
                    'Judul'=>$row['G'], // Insert data Judul dari kolom G di excel
                    'Anggaran'=>$row['H'], // Insert data Anggaran dari kolom H di excel
                    'Status'=>$row['I'], // Insert data Status dari kolom I di excel
                    'Laporan'=>$row['J'], // Insert data Jenis Hibah dari kolom E di excel
                    'Status_Pengusul'=>$row['K'], // Insert data Status pengusul dari kolom E di excel
                    'Verifikasi'=>$row['L'], // Insert data verifikasih dari kolom E di excel
                ));
            }

            $numrow++; // Tambah 1 setiap kali looping
        }

        // Panggil fungsi insert_multiple yg telah kita buat sebelumnya di model
        $this->m_import->insert_multiple($data);

        redirect("Admin/form_penelitian"); // Redirect ke halaman awal (ke controller IMPORT fungsi index)
    }

模型

public function insert_multiple($data){
        $this->db->insert('dt_penelitian',$data);
        //$this->db->insert_batch('dt_penelitian', $data);
    }

想要在 MySQL 中插入一个数据(数组)而不需要另一个循环的空数据

标签: phpmysqlcodeigniterinsertbatch-insert

解决方案


推荐阅读