在MySQL DB

时间:2017-05-15 13:50:01

标签: php sql csv import

我试图上传CSV文件以更新MySQL表格。

我已经完成了上传部分,但是当我尝试将CS​​V数据插入数据库时​​,它无法正常工作并且不会显示任何错误。

对我来说奇怪的是,当我在phpMyAdmin的SQL解释器中尝试完全相同的SQL命令时,命令有效并且所有行都是插入的。

以下是我的代码摘录,假设在DB上插入行:

$name= '/tmp/uploaded/tmp.csv';
$result= move_uploaded_file($_FILES['CSVfile']['tmp_name'], $name);
chmod ($name, 0777);
if (!$result){
    echo "Fail while moving file";
}
else{
    echo "Success";
    //$connect-> query('DELETE from db_name.table_name WHERE 1;');
    $req=$connect->query("LOAD DATA INFILE '/tmp/uploaded/tmp.csv' INTO TABLE db_name.table_name
    FIELDS ESCAPED BY '\\'
    TERMINATED BY ';'
    LINES TERMINATED BY '\r\n';"); //<- This command works perfectly on phpMyAdmin SQL interpreter 
    if ($req){
        echo "Success";
    }
    else{
        echo "Fail with the INSERT";
        var_dump($req); //Shows "bool(false)"
    }
}

该文件包含~16,000行和权重3.14Mo

请问您有什么想法或解决方案吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

你能不能使用&#39;来源&#39;命令,然后拖放?