CSV未导入mySQLi

时间:2018-06-14 22:52:41

标签: php csv mysqli

我正在尝试将CS​​V导入mySQL,我对此非常陌生,但据我所知,我已经完全遵循了another post on stackoverflow has said并且它仍然无效。

<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "test";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

 $query = <<<eof
 LOAD DATA INFILE 'hi.csv'
 INTO TABLE testing
 FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
 LINES TERMINATED BY '\n'
(firstname)
eof;

$db->query($query);

?>

如果有人能提供帮助,我们将不胜感激。使用当前代码,错误是“解析错误:语法错误,第24行(文件名)中的文件意外结束。但即使没有错误,它也不会将新数据放入mySQL。

1 个答案:

答案 0 :(得分:0)

根据manual,INFILE命令专门在服务器上查找包含数据库的文件夹中的文件。如果命令失败,可能是由于此文件不在正确的位置,因为其余代码对我来说是正确的。您是否可以直接将文件放入该文件夹?

如果没有,您将需要更新从您拥有的目录加载文件的方法。

在这种情况下,我会使用fgetcsv和循环来加载数据。您可以在我链接的PHP手册页面上看到示例代码,并替换循环的内部部分以加载一行数据而不是显示数据。