使用PHP/MySQL导入CSV数据-完整示例
我遵循这里给出的第一个答案() 但我可能把一些基本的事情搞砸了 下面是我的代码现在的样子:使用PHP/MySQL导入CSV数据-完整示例,php,mysql,csv,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 '$m
<?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);
?>
欢迎光临
tks提前 正如我在之前的评论中提到的,您正在混合过程编程和目标编程。 像
mysql\u connect
、mysql\u select\u db
和mysql\u 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
,因为它是一个不存在的变量。如果您使用mysql\u connect
和mysql\u select\u db
,您还应该使用mysql\u query
进行查询。@PKeidel。你能给我一点启发吗?我试过:$dbname->mysql\u查询($query)
和$dbname->mysql\u查询($query,$account)代码>并且没有工作!欢迎任何提示!我在下面张贴了正确的代码作为答案;)@Tks,但我有其他问题,因为上面的更改不起作用。我还尝试将整个代码移到mysqli面向对象,但仍然卡住了:-/()。不适用于此代码。它运行良好,只是它没有上载我的表中的任何内容。请尝试echo$query
,并通过phpmyadmin或控制台运行显示的SQL语句以检查其功能。在文件开头添加一个错误报告(E\u ALL)
。
<?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
?>