Php unggah csv ke mysql

Selamat datang di tutorial singkat tentang cara mengimpor file CSV ke database MYSQL di PHP. Ingin mengizinkan administrator mengunggah set data mereka sendiri ke dalam database?

ⓘ Saya telah menyertakan file zip dengan semua kode sumber contoh di awal tutorial ini, jadi Anda tidak perlu menyalin-tempel semuanya… Atau jika Anda hanya ingin langsung masuk

 

 

TLDR – SLIDE CEPAT

Unduh & Catatan

 

 

UNDUH & CATATAN

Pertama, berikut adalah tautan unduhan ke contoh kode sumber seperti yang dijanjikan

 

CATATAN CEPAT

  • Buat basis data pengujian dan impor 1a-users.sql
  • Ubah pengaturan basis data di 3-import.php_ menjadi milik Anda sendiri
  • Akses 2-upload.html di browser dan unggah 1b-users.csv
Jika Anda menemukan bug, jangan ragu untuk berkomentar di bawah ini. Saya mencoba menjawab pertanyaan singkat juga, tetapi itu adalah satu orang versus seluruh dunia… Jika Anda sangat membutuhkan jawaban, silakan periksa daftar situs web saya untuk mendapatkan bantuan dalam pemrograman

 

DOWNLOAD KODE CONTOH

Klik di sini untuk mengunduh kode sumber, saya telah merilisnya di bawah lisensi MIT, jadi silakan membangun di atasnya atau menggunakannya dalam proyek Anda sendiri

 

IMPOR CSV KE DATABASE MYSQL

Baiklah, sekarang mari kita masuk ke contoh cara import file CSV di PHP dan MySQL

 

LANGKAH 1) DATABASE DUMMY & CSV

1A) TABEL PENGGUNA

1a-pengguna. sql

CREATE TABLE `users` (
  `user_id` bigint(20) NOT NULL,
  `user_email` varchar(255) NOT NULL,
  `user_name` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

ALTER TABLE `users`
  ADD PRIMARY KEY (`user_id`),
  ADD UNIQUE KEY `user_email` (`user_email`),
  ADD KEY `user_name` (`user_name`);

ALTER TABLE `users`
  MODIFY `user_id` bigint(20) NOT NULL AUTO_INCREMENT;

Untuk contoh ini, kami akan bekerja dengan tabel pengguna dummy ini. Sangat mudah dengan hanya 3 bidang -

  • user_id ID, kunci utama
  • user_email Email pengguna
  • 0 Nama pengguna

 

1B) CSV PENGGUNA

jane@doe. com Jane Doe Joe@doe. comJoe Doe John@doe. comJohn Doe

Itu benar. Hanya sekumpulan email dan nama pengguna

 

 

LANGKAH 2) UNGGAH FILE CSV

2-unggah. html

_

Selanjutnya, kami memiliki formulir pengunggahan file HTML sederhana yang hanya menerima file CSV

 

LANGKAH 3) PHP IMPOR CSV KE MYSQL

3-impor. php

 PDO::ERRMODE_EXCEPTION,
  PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);
 
// (B) READ UPLOADED CSV
$fh = fopen($_FILES["upcsv"]["tmp_name"], "r");
if ($fh === false) { exit("Failed to open uploaded CSV file"); }
 
// (C) IMPORT ROW BY ROW
while (($row = fgetcsv($fh)) !== false) {
  // print_r($row);
  $stmt = $pdo->prepare("INSERT INTO `users` (`user_email`, `user_name`) VALUES (?,?)");
  $stmt->execute([$row[0], $row[1]]);
}
fclose($fh);
echo "DONE.";

Terakhir, skrip PHP untuk mengimpor file CSV yang diunggah

  1. Hubungkan ke basis data. Ingatlah untuk mengubah pengaturannya sendiri
  2. Coba buka file CSV yang diunggah
  3. Baca dan impor file CSV ke dalam basis data baris demi baris

Tamat

 

 

EKSTRA) REKOMENDASI ​​dan TIPS

_

Contoh di atas akan bekerja dengan cukup baik, tetapi selalu berharap ada yang salah. Berikut adalah beberapa "kemungkinan kesalahan" umum dan tip untuk menanganinya

  • Skrip PHP akan kehabisan waktu saat mengimpor file CSV besar, "perbaikan" sederhana adalah menyetel waktu tunggu lebih lama dengan
    1. Cara lanjutan adalah menjalankan skrip impor di latar belakang – Lihat tautan di bawah
  • Pengguna terkadang akan mengacaukan data CSV. Misalnya dengan menukar kolom email/nama dan membiarkan baris kosong. Seperti di atas, periksa setiap sel sebelum Anda mengimpornya. Pastikan itu adalah email yang valid, bukan sel kosong, dll…
  • Lalu, ada juga masalah pengguna yang tidak sabar yang akan memuat ulang dan mengimpor lagi – Berakhir dengan entri duplikat. Terapkan kunci unik Anda sendiri di database untuk mencegah duplikat

 

 

Itu saja untuk tutorial ini, dan ini adalah bagian kecil tentang beberapa tambahan dan tautan yang mungkin berguna bagi Anda

 

  • Buka File – PHP
  • File Dapatkan CSV – PHP
  • Tetapkan Batas Waktu – PHP
  • PDO (Objek Basis Data) – PHP
  • Cara Menjalankan Skrip PHP Di Latar Belakang – Code Boxx

 

VIDEO TUTORIAL

 

LEMBAR CHEAT INFOGRAFIS

Terima kasih telah membaca, dan kami telah sampai di akhir panduan ini. Saya harap ini membantu Anda dengan proyek Anda, dan jika Anda ingin berbagi apa pun dengan panduan ini, jangan ragu untuk berkomentar di bawah ini. Semoga berhasil dan selamat membuat kode

Bagaimana cara mengunggah file CSV di php?

Untuk mengunggah file CSV, gunakan tag html input sebagai nilai "file". .

Bagaimana cara mengimpor file CSV ke MySQL?

Berikut langkah-langkahnya. .
Siapkan file CSV agar kolom dalam urutan yang sama dengan kolom tabel MySQL
Hapus baris tajuk dari CSV (jika ada), sehingga hanya data yang ada di dalam file
Buka antarmuka phpMyAdmin
Pilih tabel di menu sebelah kiri
Klik tombol impor di bagian atas
Jelajahi file CSV

Bagaimana cara mengimpor file Excel CSV ke database MySQL menggunakan php?

Tombol Impor ditempatkan di bagian atas daftar. Dengan mengklik tombol Impor, formulir HTML akan muncul untuk memilih dan mengunggah file CSV. Saat pengiriman, formulir dikirimkan ke importData. php untuk mengimpor data CSV ke database

Bagaimana cara mengimpor file CSV besar di MySQL menggunakan php?

Cara tercepat untuk mengimpor file CSV adalah dengan menggunakan perintah LOAD DATA Mysql. .
Simpan file php ini dan file csv Anda dalam satu folder
Buat tabel di database mysql Anda yang ingin Anda impor
Buka file php dari server localhost Anda
Masukkan semua bidang
klik tombol unggah