2

我有一种情况,我必须从 .txt 文件中插入 mysql 表。数据格式如下。左侧和右侧的数据都显示分别插入 2 列。和第三列显示是 id

koijjh12 : 12
lkoiujjf : 12
uoytresf : 15
kjhgfd56 : 50

我们可以使用 php 脚本将该 .txt 文件导入 mysql 数据库吗?

4

2 回答 2

10

你当然可以通过 PHP 脚本来完成,但最好的方法是使用Mysql load data infile语法,如下所示:

LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test
  FIELDS TERMINATED BY ','  LINES TERMINATED BY '\n';

在您的情况下,看起来字段已终止,:因此您可以像这样轻松地更改它:

LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test
  FIELDS TERMINATED BY ' : '  LINES TERMINATED BY '\n';

您可以通过将其作为查询插入任何 mysql 查询函数来运行此命令。这将比您在 PHP 中手动执行的任何操作都要快得多(例如将文本读入 PHP,然后将其插入数据库)

编辑:请注意,如果您在字符串中使用它,则需要使用另一个像这样\的换行符来转义:\LINES TERMINATED BY '\\n';

于 2012-08-23T09:53:46.313 回答
6

像这样的东西:

<?php

$content = file_get_contents("a.txt");
$lines = explode("\n", $content);
foreach ($lines as $line) {
    $row = explode(":", $line);
    $query = "INSERT INTO tablename SET val1 = '" . trim($row[0]) . "', val2 = '" . trim($row[1]) . "'";
    mysql_query($query);
}

?>
于 2012-08-23T09:57:42.433 回答