PHP导入csv不起作用

时间:2016-09-13 14:00:12

标签: php mysql database csv import

过去几天我遇到了困扰我的问题。我搜索并尝试了一切,但到现在为止,没有任何效果。

简而言之:我有一个csv上传工作正常,但数据导入本身无法正常工作。

这是完整的脚本(安全性没有问题,因为只有某些人可以访问它,但可以随意添加建议):

if(isset($_POST['athene_advanced_submit_csv'])){
$admin_valid = true; //not doing anything yet

if($admin_valid == true){
    $filename = $_FILES['athene_files']['name'];
    $target_path = '../db/';
    $result_files = move_uploaded_file($_FILES['athene_files']['tmp_name'], $target_path.$filename);


    if($result_files == true){
        $query_import = "LOAD DATA INFILE 'import.csv'
        INTO TABLE `test`
        FIELDS TERMINATED BY ','
        LINES TERMINATED BY ',,,\r\n'
        (id, name, price)";

        $result_import = mysqli_query($dbcon, $query_import);

        if($result_import == true){
            echo '<script>alert("CSV imported");</script>';     
        }else{
            echo '<script>alert("import error");</script>';     
        }
    }else{
        echo '<script>alert("file error");</script>';   
    }

}
else{
    echo '<script>alert("no file");</script>';  
}

}

它返回&#34;导入错误&#34;一遍又一遍。

我的csv如下:

id,name,price
1,one,12
2,two,23
3,three,34
4,four,45
5,five,56
6,six,67
7,seven,78

有人能帮助我吗?我认为问题是我的查询不适合我的csv导出,但尚未找到解决方案。

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

你可以尝试:

LOAD DATA LOCAL INFILE '/your/absolute/path/import.csv' INTO TABLE `test`
    FIELDS TERMINATED BY ','
    LINES TERMINATED BY '\n'  ## if windows '\r\n' 
    IGNORE 1 LINES
    (id, name, price)";