我今天已经花了几个小时,只是想弄清楚为什么我无法将csv文件中的数据上传到数据库表中,而LOAD INFILE直接来自documentation。现在,我在这里看到的问题可能是LINES TERMINATED BY
,所以我认真地尝试了所有\n
\r
和\r\n
。这里还是一无所有。我ing狗的头。不知道。
在Network
-> Params
下查看控制台,一切正常,返回csv文件如下:
Content-Disposition: form-data; name="file"; filename="mydata_2018.csv"
Content-Type: application/vnd.ms-excel
first_name,last_name,gender
John,Doe,Male
这表明在此方面一切正常。但是,仍然没有任何插入,也没有收到任何错误数据。有什么建议吗?
这是代码
if(isset( $_FILES['file']['tmp_name']){
//post variable
$filename = $_FILES['file']['name'];
//set path
$path = '../csv/';
//upload files in folder
move_uploaded_file($_FILES['file']['tmp_name'], $path .$_FILES['file']['name']);
//upload csv
$stmt_user = "LOAD DATA LOCAL INFILE '$path.$filename'
INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(first_name,last_name,gender)";
$resultstmt_user = $conn->query($stmt_user);
var_dump($resultstmt_user)//returns bool(false)
}