Seperti yang didokumentasikan dalam LOAD DATA INFILE
Sintaks
:
Dengan kata lain, daftar kolom harus menjelaskan kolom database (atau variabel pengguna) yang masing-masing bidang input harus ditetapkan (daripada menjelaskan di bidang input mana setiap kolom basis data dapat ditemukan). Ini, tentu saja, jelas ketika seseorang menyadari bahwa file input tidak perlu berisi nama bidang dan dengan demikian tidak mungkin untuk mengadopsi pendekatan yang terakhir dalam semua keadaan.
Oleh karena itu, Anda ingin:
$columns = '(vendor_id, receiver_no, purchase_order_no, destination, po_status)';
Anda juga perlu menambahkan IGNORE 1 LINES
ke perintah untuk melewati baris pertama (dengan nama bidang):
$affectedRows = $pdo->exec("
LOAD DATA LOCAL INFILE ".$pdo->quote($csvfile)." INTO TABLE `$databasetable`
FIELDS TERMINATED BY ".$pdo->quote($fieldseparator)."
LINES TERMINATED BY ".$pdo->quote($lineseparator)."
IGNORE 1 LINES ". $columns);