电子邮件未从txt文件正确插入

时间:2012-09-28 08:38:05

标签: php mysqli

我正在尝试将一些电子邮件从文本文件插入到MySQL数据库中,其中一些正在插入正确但其中一些不是。

我实现这个的方法就像。

$query = "LOAD DATA LOCAL INFILE 'email-list.txt' INTO TABLE $tablename FIELDS TERMINATED BY 'r'(email)";

$result = mysqli_query($connection, $query);

某些未正确插入的电子邮件就像是。

    xxxx7@yahoo.com
    xxx_xxxxx05@yahoo.com

这些插入就像。

    x
    xxx_xxxxx

请查看我的方法有什么问题,并建议任何可能的方法来正确地做到这一点。

3 个答案:

答案 0 :(得分:3)

此...

FIELDS TERMINATED BY 'r'

你的意思是......

FIELDS TERMINATED BY '\r'

???

DOCS

  

如果未指定FIELDS或LINES子句,则默认值相同   好像你写了这个:

FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
LINES TERMINATED BY '\n' STARTING BY ''
  

(反斜杠是SQL中字符串中的MySQL转义字符   语句,所以要指定文字反斜杠,必须指定两个   值的反斜杠被解释为单个反斜杠。该   转义序列'\ t'和'\ n'指定制表符和换行符,   分别。)

答案 1 :(得分:1)

替换 FIELDS TERMINATED BY 'r' FIELDS TERMINATED BY '\r'

现在,r充当终止字符,因此r之后的任何内容都会被删除。

答案 2 :(得分:1)

TERMINATED BY 'r'(email)"; 

您通过字符'r'

终止电子邮件

所以当你使用

cricket4877@yahoo.com

它会截断r之后的所有内容,因此它只显示c。

您应该将其更改为

TERMINATED BY '/r'(email);

P.S 我希望它们是电子邮件,而不是实际的电子邮件。