当我试图将数据插入mysql时,我遇到了列/字段不匹配的问题。我当前的表有306列/字段(它还没有标准化/优化,但将来会规范化/优化)。前306个字段始终是正确的数据,需要保存在mysql中。可以删除/清除前306个字段之后的所有字段。这是我的php注入代码:
$source = "http://www.aviationweather.gov/adds/dataserver_current/current/tafs.cache.csv";
$file = file($source);
for($i = 0; $i < 6; $i++) array_shift($file);
foreach($file as $line) {
$csv = str_getcsv($line);
if (!$db->query("INSERT INTO tafs VALUES('" . implode("','", $csv) . "');")) {
} else {
$n++;
}
}
csv源文件每分钟更新一次,有时它会有正确的306列,其他时候它会无缘无故地有1500-2000列。这可怕地打破了我的内爆,由于数据是高度动态的,我不能使用rtrim功能=''。。。
有人有什么想法吗?我已经被困了一段时间了。。。花了一个小时搜索php命令/示例,花了大约2个小时搜索mysql命令。。。我是不是错过了什么?
感谢您的支持,祝您7月4日快乐!
-Mikael
我相信您正在寻找array_slice
$csv = array_slice(str_getcsv($line), 0, 306)