如何使用drupal中的LOAD DATA INFILE从csv加载数据到db

时间:2010-10-22 05:23:20

标签: mysql drupal drupal-6

我已尝试使用以下代码来编写drupal db

中的内联文件
 $sql = "LOAD DATA INFILE '".db_escape_string($this->file_name).
         "' INTO TABLE `".$this->table_name.
         "` FIELDS TERMINATED BY '".db_escape_string($this->field_separate_char).
         "' OPTIONALLY ENCLOSED BY '".db_escape_string($this->field_enclose_char).
         "' ESCAPED BY '".db_escape_string($this->field_escape_char).
         "' ".
         ($this->use_csv_header ? " IGNORE 1 LINES " : "")
         ."(`".implode("`,`", $this->arr_csv_columns)."`)";
  $res = db_query($sql);
  $this->error = mysql_error();

我收到了错误,但该文件存在于文件夹

用户警告:文件'http:\ localhost \ example \ sites \ default \ files \ example_1.csv'未找到(错误代码:22)查询:LOAD DATA INFILE'http:// localhost / example / sites / default / files / example_1.csv'INTO TABLE temp_21_10_2010_06_38_00 FIELDS终止',''''''''''''''''''''''''''{{{{{{{{{{{{{{{{{{{在第65行的C:\ wamp \ www \ example \ sites \ all \ modules \ importmodule \ Quick_CSV_import.php中。},PROGRAMNAME

在第65行,上面的PHP代码OFFLINE存在。

2 个答案:

答案 0 :(得分:3)

您需要指定csv文件的完整/绝对或相对路径,而不是URL

load data infile '/myproj/imports/example_1.csv' into table...

load data infile 'c:\\myproj\\imports\\example_1.csv' into table...

建议您再次查看手册http://dev.mysql.com/doc/refman/5.1/en/load-data.html

答案 1 :(得分:0)

也许是因为open_files_limit