Som dokumenteret under LOAD DATA INFILE
Syntaks
:
Med andre ord skal kolonnelisten beskrive databasekolonnerne (eller brugervariabler), som hver indtastningsfelter til skal tildeles (i stedet for at beskrive, i hvilket inputfelt hver databasekolonne kan findes). Dette er naturligvis indlysende, når man indser, at inputfilen ikke behøver at indeholde feltnavne, og det ville derfor være umuligt at anvende den sidstnævnte tilgang under alle omstændigheder.
Derfor ønsker du:
$columns = '(vendor_id, receiver_no, purchase_order_no, destination, po_status)';
Du skal også tilføje IGNORE 1 LINES
til kommandoen for at springe den første linje over (med feltnavne):
$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);