加载数据本地文件未将数据添加到数据库


Load Data Local Infile not adding data to db

由于某种原因,此函数未将数据加载到我的数据库中。我正在通过 MAMP 运行这些测试。

这是处理页面,它应该接受文件输入并处理到数据库中。

// Connect to database
$connect = mysql_connect('localhost','nopassword','nopassword');
mysql_select_db('gwt_extract', $connect);
if(!($connect))
{
    die ("Unable to connect to database. Program aborted.");
}
$company_id = $_POST['select_company'];
// Upload files
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Allow certain file formats
if($imageFileType != "csv") {
    echo "Sorry, only CSV files are allowed.";
    $uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
}
else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
$insert = "LOAD DATA LOCAL INFILE 'uploads/filename.csv'
INTO TABLE raw_data
FIELDS TERMINATED BY ','
LINES TERMINATED BY ''n'
IGNORE 1 ROWS 
(id,date,query,impression,impression_change,clicks,clicks_change,ctr,ctr_change,avg_position,avg_position_change,@company_id)
SET company_id = 1";
mysql_query($insert) or die(mysql_error());

我的表结构如下:

id  int(11)
date    date
query   varchar(100)
impression  int(6)
impression_change   varchar(5)
clicks  int(6)
clicks_change   varchar(5)
ctr varchar(4)
ctr_change  varchar(5)
avg_position    varchar(5)
avg_position_change varchar(5)
company_id int(11)
看起来在这种情况下

,看起来我的问题出在"行终止"行中。我改成这个,问题解决了:

LINES TERMINATED BY ''r'