我还是个新手。我正在尝试在 php 脚本上使用 mysql LOAD DATA INFILE 来加载 csv 文件。它既不会给出任何错误,也不加载任何数据。有人可以帮我吗?我正在使用以下 php 代码
<?php
$db1=mysql_connect('localhost', 'root', '');
mysql_select_db('student',$db1);
$query = "LOAD DATA INFILE 'mysqlresults.csv' INTO TABLE student.student_info FIELDS TERMINATED BY ','";
$result = mysql_query($query);
if ($result == true){
echo 'success';
}
else{
echo 'not success';
}
?>
最佳答案
您需要设置文件的路径
LOAD DATA LOCAL INFILE '/path/to/your/local/file' INTO TABLE
mysql 不会查找与运行 php 脚本相同的位置,因为 mysql 将查找其自己的路径位置,并且不会找到该文件(因为它在其他位置)。
您可以在 php 中使用 __DIR__
来获取 php 运行它的当前位置,因此查询看起来像 $query = "LOAD DATA INFILE "。 __DIR__ 。 DIRECTORY_SEPARATOR 。 “'mysqlresults.csv'进入表student.student_info字段以','终止”;
DIRECTORY_SEPARATOR 是因为 DIR 没有尾部斜杠
关于PHP 加载数据文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44108780/