我使用以下代码将csv文件中的产品插入数据库:
$handle = fopen($file,"r");
if ($handle !== FALSE)
{
while (!feof($handle))
{
$data = fgetcsv($handle,1000,",","'");
if($data[0]) {
$NewOurPrc=$data[7]*$data[8];
$qry="INSERT INTO tbl_product VALUES
(
'',
'".addslashes($data[0])."',
'".addslashes($data[1])."',
'".addslashes($data[2])."',
'".addslashes($data[3])."',
'".addslashes($data[4])."',
'".addslashes($data[5])."',
'".addslashes($data[6])."',
'".addslashes($data[7])."',
'".addslashes($NewOurPrc)."',
'".addslashes($data[9])."',
'".addslashes($data[10])."',
'".addslashes($data[11])."',
'".addslashes($data[12])."',
'".addslashes($data[13])."',
'".addslashes($data[14])."',
'".addslashes($data[15])."',
'".addslashes($data[16])."',
'".addslashes($data[17])."',
'".addslashes($data[18])."',
'".addslashes($data[19])."',
'".addslashes($data[20])."',
'".addslashes($data[21])."',
'".addslashes($data[22])."',
'".addslashes($data[23])."',
'".addslashes($data[24])."',
'".addslashes($data[25])."',
'".addslashes($data[26])."',
'".addslashes($data[27])."',
'".addslashes($data[28])."',
'".addslashes($data[29])."',
'".addslashes($data[30])."',
'".addslashes($data[31])."',
'".addslashes($data[32])."',
'".addslashes($data[33])."',
'".addslashes($data[34])."',
'".addslashes($data[35])."',
'".addslashes($data[36])."',
'".addslashes($data[37])."',
'".addslashes($data[38])."',
'".addslashes($data[39])."',
'".addslashes($data[40])."',
'".addslashes($data[41])."',
'".addslashes($data[42])."',
'".addslashes($data[43])."',
'".addslashes($data[44])."',
'".addslashes($data[45])."',
'".addslashes($data[46])."',
'".addslashes($data[47])."',
'".addslashes($data[48])."',
'".addslashes($data[49])."',
'".addslashes($data[50])."',
'".addslashes($data[51])."',
'".addslashes($data[52])."',
'".addslashes($data[53])."'
)
";
if(($data[0]!='id')&&($data[0]!='')) { $updateResult=mysql_query($qry)or die (mysql_error()); }
ini_set('auto_detect_line_endings',true);
}
}
fclose($handle);
}
当查询执行时,大多数行都会正确上传。但是某些字段未正确上传。即细胞位置不匹配。我的csv包含超过200行和54个单元格。 谢谢