根据文件名使用php / sql加载excel文件

时间:2015-11-03 19:05:08

标签: php mysql variables load

我正在使用此代码在我的数据库中加载文件。这是我在putty上传的php文件:

$Db->query('LOAD DATA LOCAL INFILE \'/name 03.11.2015.csv\'  
        INTO TABLE '.$in_table.'
        FIELDS TERMINATED BY \',\'
        ENCLOSED BY \'"\'
        LINES TERMINATED BY \'\n\'
        IGNORE 8 ROWS
        (@date, number, @name)
        set date=str_to_date(@date,\'%Y-%m-%d\'),
            name= \'name\'
        ;');

现在我希望在查询的第一行中有一个变量而不是特定的文件名:

$Db->query('LOAD DATA LOCAL INFILE \'/path/name 03.11.2015.csv\' 

所以,我正在使用它,似乎它正在运作:

$date = '.....';
$name = '.....';

    $Db->query('LOAD DATA INFILE \'/path/'.$name.' '.$date.'.csv\' 
            INTO TABLE '.$in_table.'
            FIELDS TERMINATED BY \',\'
            ENCLOSED BY \'"\'
            LINES TERMINATED BY \'\n\'
            IGNORE 8 ROWS
            (@date, number, @name)
            set date=str_to_date(@date,\'%Y-%m-%d\'),
                name= \'name\'
            ;');

但是现在我必须更改我的代码,因为有些文件的文件名中没有这种格式:'$name $date'。下面给出了一些例子:

  • name 2015-10-10
  • rand name 2015-10-10

如果名称是特定值,我如何检查文件名?我想连接文件名并获取名称和日期以便找到该文件,然后在我的代码中使用原始文件名。

1 个答案:

答案 0 :(得分:0)

我找到了这个问题的解决方案,但我仍然有一个与此问题无关的答案(最后的链接)。这个问题的答案在这个代码中:

`where a.c1 in ( list ) `

链接: Unanswered Question