【问题标题】:Import txt file to Mysql将txt文件导入Mysql
【发布时间】:2014-04-24 06:43:12
【问题描述】:

我有一个问题,想知道是否有人可以帮助我..

我有一个文本文件,其中包含用“,”分隔的数据,并且我有一个表格,我需要将它们导入其中。这是我到目前为止所拥有的。

这是我的contact.php文件

<?php

$dbH = mysql_connect('localhost', 'user', 'pass') or die('Could not connect to MySQL server.<br>' . mysql_error()); 


mysql_select_db('test') or die('Could not select database.<br>' . mysql_error(); 


$CSVFile = 'import.txt';


mysql_query('LOAD DATA LOCAL INFILE "import.txt" INTO TABLE wp_contact_employees FIELDS TERMINATED BY "," LINES TERMINATED BY "\r\n";') or die('Error loading data file.<br>' . mysql_error());


mysql_close($dbH);
?> 

这是我的 import.txt 文件..

kagn@test.com, Kralle G, 99998888 \\n
many@test.com, Martin N, 99876543 \\n

在我的“wp_contact_employees”中,我希望将上述内容插入(邮件、姓名、电话)列。

我是所有这些 php 的新手,现在卡住了:(

【问题讨论】:

  • 你从 MySQL 得到什么样的错误信息?
  • 您应该使用 PDO 或 mysqli 而不是已弃用的 'mysql' 函数。 'mysql' 已被弃用,很容易受到攻击。
  • 不应该是FIELDS TERMINATED BY ", "吗?你的代码有什么问题? import.txt 文件是不是在mysql的正确目录下?
  • 我收到此错误:加载数据文件时出错。找不到文件“import.txt”(错误代码:2)我在我的 ftp 上创建了一个文件夹,我将 .php 文件和 .txt 文件放在其中,并在我的浏览器上打开 .php 文件,并得到错误..

标签: php mysql import load-data-infile


【解决方案1】:

LOAD DATA LOCAL INFILE 要求您指定的文件路径名对mysqld 服务器进程可见。您的服务器位于本地主机上,这意味着 MySQL 与您的 php.ini 运行在同一台机器上。这是一个好的开始。

现在您需要找出您的import.txt 文件的完整路径名。这取决于您的服务器的设置方式,但可能类似于

 /home/user3433414/public_ftp/data/import.txt

一旦你有这个工作,你可能需要更改 .txt 文件的保护,以便 world. 可以读取它

不幸的是,如果不了解托管服务提供商的服务器设置的来龙去脉,就无法详细告诉您该怎么做。也许您应该向他们的支持团队寻求帮助。

【讨论】:

  • 嘿奥利,我的路径名是 E:\inetpub\gajan\kontaktdb\import.txt,但仍然给我错误:但我的 contact.php 文件是否正确?那里有任何php错误吗?
  • 如果 MySQL 说找不到文件,这意味着你没有在 LOAD DATA 命令中正确指定文件的路径名,或者你的目录或文件的保护设置所以 MySQL服务器软件找不到该文件。所以,不,您的contact.php 文件还不正确。它正在运行,所以它没有语法错误,但您没有正确指定文件路径。对于它的价值,每个尝试使用 LOAD DATA 的人都会经历这样的麻烦才能让它工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-22
  • 2015-05-04
  • 2012-10-23
  • 1970-01-01
  • 1970-01-01
  • 2018-10-26
  • 1970-01-01
相关资源
最近更新 更多