Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Saya Boleh Mengimport dan Menyelesaikan Masalah Data CSV ke dalam MySQL dengan Cekap menggunakan PHP?
Mengimport Data CSV Menggunakan PHP/MySQL: Penyelesaian Masalah dan Pengoptimuman
Artikel ini menangani masalah penyelesaian masalah dan pengoptimuman yang berkaitan dengan mengimport data CSV ke dalam MySQL menggunakan PHP.
Kebimbangan dan Penyelesaian:
1. Teks Dipaparkan sebagai 0:
Pastikan fail CSV anda menggunakan pembatas yang betul, yang dinyatakan dalam fgetcsv. Semak jenis data lajur "teks" dalam pangkalan data. Jika ia tidak ditetapkan kepada jenis teks, data yang diimport mungkin dipotong.
2. Data Dikurung dalam Tanda Sebut Harga:
Jika data dalam fail CSV anda disertakan dalam tanda petikan, anda boleh menentukannya dalam fgetcsv menggunakan parameter enclosed_by. Ini akan menanggalkan tanda petikan daripada data yang diimport.
3. Mengabaikan Baris Pengepala:
Untuk mengabaikan baris pengepala, gunakan fungsi fgets untuk membaca dan membuang baris X pertama fail CSV sebelum mula mengimport data.
4. Pemeliharaan Format Data:
MySQL mengekalkan format data secara lalai. Nilai perpuluhan akan kekal sebagai perpuluhan selepas diimport ke dalam pangkalan data.
5. Had Masa Pelaksanaan:
Jika anda menghadapi ralat "Melebihi masa pelaksanaan maksimum", cuba tingkatkan tetapan max_execution_time dalam konfigurasi PHP anda (php.ini). Sebagai alternatif, pecahkan proses import kepada kelompok yang lebih kecil untuk mengurangkan beban pada pelayan.
Pengoptimuman:
Gunakan LOAD DATA INFILE Ciri:
MySQL menawarkan ciri LOAD DATA INFILE, yang membolehkan anda mengimport fail CSV secara terus ke dalam pangkalan data tanpa gelung atau parsing. Kaedah ini jauh lebih pantas daripada menggunakan gelung PHP.
Contoh Menggunakan LOAD DATA INFILE:
<?php $query = <<<EOF LOAD DATA INFILE '$fileName' INTO TABLE tableName FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' (field1,field2,field3,etc) EOF; $db->query($query); ?>
Dengan menggunakan LOAD DATA INFILE, anda boleh menyelaraskan proses import CSV , meningkatkan prestasi dan mengurangkan penggunaan sumber.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengimport dan Menyelesaikan Masalah Data CSV ke dalam MySQL dengan Cekap menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!