【发布时间】:2019-07-08 05:43:00
【问题描述】:
我有一个 .xls 文件,其中包含大量行,我必须将其存储到数据库中。现在我正在循环读取每一行并插入到表中。有什么办法,我可以一次将所有行转储到表格中吗? (没有循环?)
for ($row = 2; $row <= $highestRow; $row++)
{
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row,NULL,TRUE,FALSE);
$entityName =$headings[0];
$entityValue=$rowData[0];
$rowData[0] = array_combine($headings[0], $rowData[0]);
$num = count($rowData[0]);
$excelDOB=$rowData[0]['date of birth'];
$student = array(
'name' => $name,
);
$this->common_model->insert_student_data($student);
}
【问题讨论】:
-
我不是 CI 人员,但快速搜索一下即可获得 stackoverflow.com/questions/17875706/…,如果它适合您,则可以将其作为重复项关闭。
-
即使你找到一种方法可以一次性完成,在内部它仍然会遍历每一行。这不是问题。问题是对每一行执行插入查询很慢。在 MySQL 中,在一个 INSERT 查询中插入多行要快得多。
标签: php codeigniter-3