使用php在mysql中导入csv文件,但是236行中只有214行被导入

li9yvcax  于 2021-06-20  发布在  Mysql
关注(0)|答案(3)|浏览(720)

我必须导入一个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); }

b4wnujal

b4wnujal1#

您可以修改php.ini文件,将max\u execution\u time设置为您认为合适的时间。

jc3wubiy

jc3wubiy2#

请尝试以下方法:mysql load data infle语句以非常高的速度将文本文件中的行读取到表中
例如:-

$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);
rkkpypqq

rkkpypqq3#

它可能会因为内存问题而停止,请添加这2行开头的代码,希望它能帮助您或使用phpexcel库。

ini_set("memory_limit","512M");
ini_set('max_execution_time', 0);

相关问题