我必须导入236行的CSV文件。但是仅导入144/213行。 我的服务器仅支持mysql命令。它不支持mysqli。
在此处输入代码
fgetcsv($file);
fgetcsv($file);
while (($getData = fgetcsv($file, 10000, ",")) !== FALSE)
{
$sql = "INSERT into branchiss2 (date,bank_id,branch_id,coa_id,coa_des,amount,is_conv,off_ind,bl1,bl2,fig_ind,data_cat,field_des,bl3,bl4,bl5,bl6,bl7,bl8,bl9)
values ('".mysql_real_escape_string($getData[0])."','".mysql_real_escape_string($getData[1])."','".mysql_real_escape_string($getData[2])."','".mysql_real_escape_string($getData[3])."','".mysql_real_escape_string($getData[4])."','".mysql_real_escape_string($getData[5])."','".mysql_real_escape_string($getData[6])."','".mysql_real_escape_string($getData[7])."','".mysql_real_escape_string($getData[8])."','".mysql_real_escape_string($getData[9])."','".mysql_real_escape_string($getData[10])."','".mysql_real_escape_string($getData[11])."','".mysql_real_escape_string($getData[12])."','".mysql_real_escape_string($getData[13])."','".mysql_real_escape_string($getData[14])."','".mysql_real_escape_string($getData[15])."','".mysql_real_escape_string($getData[16])."','".mysql_real_escape_string($getData[17])."','".mysql_real_escape_string($getData[18])."','".mysql_real_escape_string($getData[19])."')";
$result = mysql_query($sql);
}
fclose($file);
}
fgetcsv($file);
fgetcsv($file);
while (($getData = fgetcsv($file, 10000, ",")) !== FALSE)
{
$sql = "INSERT into branchiss2 (date,bank_id,branch_id,coa_id,coa_des,amount,is_conv,off_ind,bl1,bl2,fig_ind,data_cat,field_des,bl3,bl4,bl5,bl6,bl7,bl8,bl9)
values ('".mysql_real_escape_string($getData[0])."','".mysql_real_escape_string($getData[1])."','".mysql_real_escape_string($getData[2])."','".mysql_real_escape_string($getData[3])."','".mysql_real_escape_string($getData[4])."','".mysql_real_escape_string($getData[5])."','".mysql_real_escape_string($getData[6])."','".mysql_real_escape_string($getData[7])."','".mysql_real_escape_string($getData[8])."','".mysql_real_escape_string($getData[9])."','".mysql_real_escape_string($getData[10])."','".mysql_real_escape_string($getData[11])."','".mysql_real_escape_string($getData[12])."','".mysql_real_escape_string($getData[13])."','".mysql_real_escape_string($getData[14])."','".mysql_real_escape_string($getData[15])."','".mysql_real_escape_string($getData[16])."','".mysql_real_escape_string($getData[17])."','".mysql_real_escape_string($getData[18])."','".mysql_real_escape_string($getData[19])."')";
$result = mysql_query($sql);
}
fclose($file);
}
答案 0 :(得分:0)
由于内存问题,它可能已停止,请在代码的开头添加这2行,希望对您有所帮助或使用phpexcel库。
ini_set("memory_limit","512M");
ini_set('max_execution_time', 0);
答案 1 :(得分:0)
请尝试以下操作: MYSQL LOAD DATA INFILE语句,用于以非常高的速度将文本文件中的行读取到表中
例如:-
$import_query = <<<eof
LOAD DATA INFILE '$fileName'
INTO TABLE tableName
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(column1,column2,column3)
SET column4 = CURRENT_TIMESTAMP;
eof;
$db->query($import_query);
答案 2 :(得分:0)
您可以将php.ini文件集 max_execution_time 修改为您认为适当的时间。