4
這裏是我的腳本。根據標題將csv數據導入數據庫
if (isset($_POST['submit'])) {
if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "<br></h1>";
echo "<h2>Displaying contents:</h2>";
readfile($_FILES['filename']['tmp_name']);
echo "<br>";
echo $headers;
}
$handle = fopen($_FILES['filename']['tmp_name'], "r");
$header = fgetcsv($handle);
while(! feof($handle)){
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$import="INSERT into CSVtest($header[0],$header[1],$header[2],$header[3],$header[4])
values
('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]')";
mysql_query($import) or die(mysql_error());
}
}
fclose($handle);
echo "Done";
}
這就是我如何根據頭插入數據到數據庫的方式,即使它不與表列相同。 如果csv只有「cell,firstname,lastname ,,」(我的表也只有這3列),那麼它仍然在工作......但如果有「cell,address,company,firstname,lastname」,那麼它會顯示我未知的列錯誤。
其實我希望有一個函數,即使csv中有很多列不存在於表中,它仍然可以選擇右列並插入到表中。 任何人都可以給我提示如何改變我的腳本嗎?我知道有很多錯誤...它真的很尷尬,顯示我的低標準腳本...
在此先感謝。
太感謝你了布雷克,你給我一個非常有用的提示,現在我的工作就可以了...希望我能再次進行it.Thanks。 –
沒有probs ...高興:) –