使用PHP/MMySQL导入CSV数据-完整示例


Importing CSV data using PHP/MySQL- FULL EXAMPLE

我遵循这里给出的第一个答案(使用PHP/MySQL导入CSV数据)但我可能把一些基本的事情搞砸了。

下面是我的代码现在的样子:

<?php
$accounts =  mysql_connect('localhost','root','mypass')
or die (mysql_error());
mysql_select_db("dbname",$accounts);
$fileName='./myfile.csv';
$query = <<<eof
    LOAD DATA INFILE '$myfile.csv'
     INTO TABLE tbname
     FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
     LINES TERMINATED BY ''n'
    (ID,Entity,HOOK,Period,Status,Trade,etc)
eof;
$dbname->query($query);
?>

我在最后一行中出错,如下所示:

"未定义的变量:第17行C:''examplep''htdocs''mycode''loadcsv.php中的dbname"

这可能意味着我没有正确加载&dbname是数据库吗?我确实使用相同的连接从同一个数据库中检索到了数据。

在什么线路中有任何帮助

$dbname->query($query);

欢迎!

tks提前!

正如我之前在评论中提到的,您正在混合过程编程和目标编程。像mysql_connectmysql_select_dbmysql_query这样的函数是过程性的。因此,当您使用这些函数启动项目时,您必须采用这种方式。

你的代码应该看起来像这样:

<?php
$accounts =  mysql_connect('localhost','root','mypass') or die (mysql_error());
mysql_select_db("dbname",$accounts);
$fileName='./myfile.csv';
$query = <<<eof
    LOAD DATA INFILE '$myfile.csv'
     INTO TABLE tbname
     FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
     LINES TERMINATED BY ''n'
    (ID,Entity,HOOK,Period,Status,Trade,etc)
eof;
mysql_query($query); // <= HERE is the change
?>

不能使用$dbname,因为它是一个不存在的变量。