【发布时间】:2014-03-15 17:48:30
【问题描述】:
我正在尝试在 CSV 文件中导入 60,000 行或更多行。该代码只能导入 5000 行。有人可以帮助我吗?
require_once('connection.php');
if ($_FILES[csv][size] > 0) {
//get the csv file
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");
//loop through the csv file and insert into database
do {
if ($data[0]) {
mysql_query("INSERT INTO transactions (EntryId_Pk, AccessCode, MobileNumber, TelcoCode, TIN, ORNo, ORAmt, NumOfEntries, ECN, AddedOn) 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($data[8])."',
'".addslashes($data[9])."'
)
");
}
} while ($data = fgetcsv($handle,1000,",","'"));
【问题讨论】:
-
你的整个帖子没有包含一个关于编程问题的问题。你有什么问题?
-
while循环不会比do while更好吗? ;) -
@hek2mgl 同意,除非始终保证第一行。另外,我将给出关于 mysql_* 被弃用且不应该使用的常见说明。每次使用该库时,Rasmus Lerdorf 都会吃掉一只小猫。
-
@Zarathuztra 如果没有行,则不会输入 while 循环
-
@hek2mgl 没错,这就是我的意思。在这种情况下,while 可以正常工作。