我将 CSV 文件拉入脚本,解析它,然后更新我的 MySQL 表。问题是它只插入来自 CSV 文件第二行的数据(第一行被跳过,因为它是列的标题)。这是我的代码:
$f = fopen("sample.csv", "r");
while(($line = fgetcsv($f)) !== FALSE){
$time = $line[0];
//SKIP FIRST LINE (WITH HEADERS)
if($time == "Time"){
continue;
}
else{
$size = $line[1];
$location = $line[2];
$county = $line[3];
$state = $line[4];
$lat = $line[5];
$lon = $line[6];
$comments = $line[7];
$sql = "INSERT INTO sample (time, size, location, county, state, lat, lon, comments) VALUES ('$time', '$size', '$location', '$county', '$state', '$lat', '$lon', '$comments')";
$result = $mysqli->query($sql);
//CHECK TO SEE IF THE LOOP IS WORKING THROUGH ALL DATA
echo $size;
}
}
fclose($f);
问题是它成功地跳过了第一行,然后在第二个循环中,它成功地更新了数据库。如您所见,我已经回显了 $size 的值,它回显了所有行的所有值,这意味着它正确地循环了所有数据。我不确定为什么它不将该数据添加到每个后续行中。
谢谢你的帮助!