Upload File CSV ke MySQL dengan PHP

Upload File CSV ke MySQL dengan PHP
Konten Halaman

Dalam pengembangan aplikasi web, seringkali kita perlu mengimpor data dari file CSV ke dalam database MySQL.

Hal ini dapat dilakukan dengan bantuan bahasa pemrograman PHP yang memungkinkan kita untuk membaca file CSV, memproses data, dan menyimpannya ke dalam tabel MySQL. Dalam artikel ini, kita akan membahas langkah-langkah secara terperinci untuk mengunggah file CSV ke MySQL menggunakan PHP.

1. Persiapan Awal

Sebelum kita mulai mengunggah file CSV ke MySQL, ada beberapa persiapan yang perlu dilakukan:

1.1 Memastikan Database MySQL Terpasang

Pastikan Anda telah menginstal MySQL di server Anda dan server MySQL sedang berjalan. Selain itu, Anda harus memiliki akses ke server MySQL untuk membuat database dan tabel yang diperlukan.

1.2 Membuat Tabel MySQL untuk Data CSV

Langkah pertama adalah membuat tabel di database MySQL yang akan digunakan untuk menyimpan data dari file CSV. Misalkan kita ingin mengimpor data ke dalam tabel “pegawai” yang memiliki kolom-kolom berikut:

CREATE TABLE pegawai (
  id INT(11) PRIMARY KEY AUTO_INCREMENT,
  nama VARCHAR(255),
  email VARCHAR(255),
  telepon VARCHAR(15)
);

Pastikan struktur tabel sesuai dengan data yang akan diimpor dari file CSV.

2. Membuat Formulir Unggah

Pertama-tama, kita perlu membuat formulir HTML yang memungkinkan pengguna untuk memilih file CSV yang akan diunggah. Berikut adalah contoh kode HTML untuk formulir unggah:

<form method="post" enctype="multipart/form-data" action="proses.php">
  <input type="file" name="file" />
  <input type="submit" name="submit" value="Unggah" />
</form>

Pastikan atribut enctype diatur sebagai multipart/form-data agar kita dapat mengunggah file.

3. Membaca dan Memproses File CSV

Setelah pengguna mengunggah file CSV melalui formulir, kita perlu membaca file tersebut, memvalidasi datanya, dan menyimpannya ke dalam tabel MySQL yang sesuai. Untuk itu, kita akan membuat file PHP terpisah yang akan menangani proses ini.

3.1 Membaca File CSV

Di dalam file proses.php, kita perlu menulis kode PHP untuk membaca file CSV yang diunggah. Berikut adalah contoh kode untuk membaca file CSV menggunakan fungsi fgetcsv:

if (isset($_POST['submit'])) {
  $file = $_FILES['file']['tmp_name'];
  $handle = fopen($file, "r");
  
  while (($data = fgetcsv($handle,

 1000, ",")) !== FALSE) {
    // Lakukan sesuatu dengan data CSV
  }
  
  fclose($handle);
}

Dalam contoh ini, kita menggunakan fgetcsv untuk membaca baris-baris dalam file CSV. Anda dapat menyesuaikan pemrosesan data sesuai dengan kebutuhan Anda.

3.2 Memvalidasi Data CSV

Setelah membaca data dari file CSV, kita perlu memvalidasi data tersebut sebelum menyimpannya ke dalam tabel MySQL. Misalnya, Anda dapat memeriksa apakah setiap baris memiliki jumlah kolom yang tepat atau memvalidasi format email. Pastikan data yang diimpor sudah sesuai dengan persyaratan.

3.3 Memasukkan Data ke dalam Tabel MySQL

Setelah data CSV divalidasi, kita dapat menyimpannya ke dalam tabel MySQL menggunakan pernyataan SQL INSERT. Berikut adalah contoh kode untuk menyimpan data ke dalam tabel MySQL:

if (isset($_POST['submit'])) {
  $file = $_FILES['file']['tmp_name'];
  $handle = fopen($file, "r");
  
  while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
    $nama = $data[0];
    $email = $data[1];
    $telepon = $data[2];
    
    $sql = "INSERT INTO pegawai (nama, email, telepon) VALUES ('$nama', '$email', '$telepon')";
    
    // Eksekusi pernyataan SQL
    if ($conn->query($sql) === TRUE) {
        echo "Data berhasil disimpan.";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
  }
  
  fclose($handle);
}

Pastikan Anda menggantikan conn dengan koneksi database MySQL yang sesuai dengan konfigurasi Anda.

4. Menampilkan Status Unggahan

Setelah file CSV diunggah dan data berhasil dimasukkan ke dalam tabel MySQL, kita dapat menampilkan pesan sukses kepada pengguna. Misalnya, kita dapat mengarahkan pengguna ke halaman baru yang menampilkan pesan sukses.

5. Kesimpulan

Dalam artikel ini, kita telah membahas langkah-langkah secara terperinci untuk mengunggah file CSV ke MySQL menggunakan PHP. Dengan mengikuti panduan ini, Anda dapat mengimpor data dari file CSV ke dalam tabel MySQL dengan mudah. Penting untuk selalu memvalidasi data yang diimpor dan menggunakan metode yang aman saat menyimpan data ke dalam database.

Dengan menggunakan PHP, kita dapat mengautomatisasi proses unggah file CSV ke MySQL dan memanfaatkan potensi data yang terkandung dalam file CSV untuk aplikasi web kita. Semoga artikel ini memberikan wawasan dan bermanfaat bagi Anda dalam pengembangan aplikasi web Anda. Selamat mencoba!