我正在按照这里给出的第一个答案(Importing CSV data using PHP/MySQL) 但我可能搞砸了一些基本的东西。
这里我的代码现在看起来如何:
<?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:\ xampp \ htdocs \ mycode \ loadcsv.php中的dbname”
哪个概率意味着我没有正确加载那个&amp; dbname是一个db?我确实设法使用相同的连接从同一个数据库中检索数据。
行中的任何帮助
$dbname->query($query);
欢迎光临!
事先提前!
答案 0 :(得分:0)
正如我之前在评论中提到的,您正在混合程序和客观编程。
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
,因为它是一个不存在的变量。