PHP脚本不会将CSV导入MySQL

时间:2012-05-15 07:01:37

标签: php mysql csv

# download the file off the internet
    $file = file_get_contents("http://localhost/sample.csv");
    $filepath = "C:/xampp/htdocs/test/file/sample.csv";
    file_put_contents($filepath, $file);
# load the data into sample table
    $pt1 = "LOAD DATA LOCAL INFILE ";
    $pt2 = "'/C:/xampp/htdocs/test/file/sample.csv' INTO TABLE sample ";
    $pt3 = "FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ";
    $pt4 = "LINES TERMINATED BY '\r\n' ";
    $pt5 = "(col1,col2,col3,col4)";
    $sqlquerynew = $pt1.$pt2.$pt3.$pt4.$pt5;
    mysql_query($sqlquerynew);

这段代码适用于非csv(好吧,我用文本文件测试了它)。

在此部分运行之前,我必须创建一个表。现在已创建表,但未加载任何数据。路径中陈述的文件存在。

可能是什么问题?

由于

这是我在网上找到的csv示例

"REVIEW_DATE","AUTHOR","ISBN","DISCOUNTED_PRICE"
"1985/01/21","Douglas Adams",0345391802,5.95
"1990/01/12","Douglas Hofstadter",0465026567,9.95
       ....... etc

1 个答案:

答案 0 :(得分:1)

两个问题

$pt2 = "'/C:/xampp/htdocs/test/file/sample.csv' INTO TABLE sample ";

删除C前面的/

其次,

$pt5 = "(col1,col2,col3,col4)";

确保您拥有正确的列名称。如果要导入*所有列,只需将其删除即可。在您的情况下删除标题也是一个好主意,因为删除$pt5您将成功,但标题行将添加到表中。