Я импортирую файл csv в свою базу данных. Файл csv содержит более 30 столбцов. Проблема в том, что иногда клиент меняет индекс столбцов в файлах csv. Это означает, что для Ex. Имя в первую очередь, а Address находится во втором месте csv-файла, а иногда бывает, что имя находится во втором месте, а адрес - в первом месте. В данном сценарии мне нужно вручную проверить все поля csv, и я должен сделать это для многих других файлов csv, и это очень сложно сделать. Таким образом, я могу проверить столбцы csv в php и автоматически вставить их в базу данных mysql в нужном столбце. Это заданный способ импорта данных в базу данных по номерам индексов. Код не такой:Как проверить имя столбца csv с mysql colomn при импорте в базу данных mysql в php
while ($data = fgetcsv ($handle, 1000, ","))
{
if($dropdown1_value=="Canon")
{
$query="INSERT INTO `Import_CopiersandPrinters_Canon_Raw_Data` set `Account Name`
= '".htmlspecialchars($data[0],ENT_QUOTES)."',
`Account Number` = '".htmlspecialchars($data[1],ENT_QUOTES)."',`Does
Business As (DBA)` = '".htmlspecialchars($data[2],ENT_QUOTES)."',
`Shipping City` = '".htmlspecialchars($data[5],ENT_QUOTES)."', `Shipping
Zip Postal Code` = '".htmlspecialchars($data[6],ENT_QUOTES)."',
`Phone` = '".htmlspecialchars($data[7],ENT_QUOTES)."',
`Lease Term` = '".str_replace(")","",str_replace("
(","-",str_replace(",","",str_replace("$","",$data[15]))))."',
`Lease Expiration Date` = '".htmlspecialchars($data[17],ENT_QUOTES)."',
`file_name` = '".$new_file_name."', `file_date` = '".date('Y-m-d
H:i:s')."'";
mysql_query($query) or die(mysql_error());
if (mysql_error() <> "")
{
fputcsv($output, $data);
$error_count++;
}
else
{
$row_count = $row_count + 1;
}
$total = $total+1;
}
}
Как вы знаете столбцы? Определено ли это в первом правиле CSV-файла? Если true, являются ли имена столбцов в CSV такими же, как имена столбцов в вашей таблице? –
@ S.Pols Да имена столбцов определены в первом правиле файла CSV и имена столбцов в таблице, а имена столбцов в файле csv одинаковы. – Mukesh
@ S.Pols Я немного поработал над этим, и теперь я могу получить имена столбцов таблицы mysql и имена столбцов csv, и я не понимаю, что делать дальше. – Mukesh