我遵循这里给出的第一个答案(使用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_connect
、mysql_select_db
和mysql_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
,因为它是一个不存在的变量。