0

当我尝试将数据插入 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日快乐!

-米凯尔

4

1 回答 1

0

我相信你正在寻找array_slice

$csv = array_slice(str_getcsv($line), 0, 306)

于 2013-07-05T02:38:32.667 回答