Bagaimanakah Saya Boleh Mengimport dan Menyelesaikan Masalah Data CSV ke dalam MySQL dengan Cekap menggunakan PHP?

Patricia Arquette
Lepaskan: 2024-11-19 08:38:02
asal
400 orang telah melayarinya

How Can I Efficiently Import and Troubleshoot CSV Data into MySQL using 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);
?>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan