我有一种情况,我必须从 .txt 文件中插入 mysql 表。数据格式如下。左侧和右侧的数据都显示分别插入 2 列。和第三列显示是 id
koijjh12 : 12
lkoiujjf : 12
uoytresf : 15
kjhgfd56 : 50
我们可以使用 php 脚本将该 .txt 文件导入 mysql 数据库吗?
你当然可以通过 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';
像这样的东西:
<?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);
}
?>