php为mysql剥离或删除额外的列/逗号分隔


php strip or delete extra columns/comma delimited for mysql

当我试图将数据插入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)