我最近问过如何将CSV插入MySQL数据库。有人建议我使用LOAD DATA LOCAL INFILE,但事实证明,这是在我的主机上禁用,所以不再是一个选项。回到PHP循环..CSV PDO插入循环?
我有一个问题循环通过临时上传的结果,因为我将值映射到插入数组。因此,在多行上,这将导致输入两次相同的条目(第一行的值),因为数组值是明确定义的。
它插入1,2,3,4,然后是1,2,3,4。我想插入1,2,3,4然后插入数组5,6,7,8。
什么解决方案(除了hacky for和row ++)?
在此先感谢。
$handle = fopen($_FILES['csv']['tmp_name'], "r");
$sql = "INSERT INTO tbl (col1, col2, col3, col4) VALUES (?, ?, ?, ?)";
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$query = $db->prepare($sql);
if ($query->execute(array($data[0],$data[1],$data[2],$data[3]))) return true;
else return false;
}
这个循环如何运行多次?你在那里有一个return语句。 – 2012-08-14 16:08:39