Php 将纯文本列表插入mysql表
我有一个很长的纯文本列表,我需要将它插入数据库的一个表中。我是否必须手动输入纯文本文档的每一行,或者是否有方法使用查询将长列表插入表中的独立行Php 将纯文本列表插入mysql表,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我有一个很长的纯文本列表,我需要将它插入数据库的一个表中。我是否必须手动输入纯文本文档的每一行,或者是否有方法使用查询将长列表插入表中的独立行 我有一个表,有两列,id和club_name,club_name是记事本文档中纯文本的列表。将整个记事本内容插入到“text”类型的列中。您可以使用加载数据填充命令将数据加载到mysql中 这是文件。。。 您可以使用,例如: 您还可以使用以下语法(如果您使用的是InnoDB表): INSERT INTO yourtable VALUES (1,2), (
我有一个表,有两列,id和club_name,club_name是记事本文档中纯文本的列表。将整个记事本内容插入到“text”类型的列中。您可以使用
加载数据填充
命令将数据加载到mysql中
这是文件。。。
您可以使用,例如:
您还可以使用以下语法(如果您使用的是InnoDB表):
INSERT INTO yourtable VALUES (1,2), (5,5), ...
下面是一个快速的示例,但是如果您不需要操作源数据(修剪、标准化等),MySQL命令可能是一个更好的选择
以下是如何使用php、mysqli和一个文本文件(每个条目都在一行上)完成此操作:
<?php
$servername = "localhost";
$username = "user";
$password = "pass";
$dbname = "db";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$file = file("list.txt"); //read file line by line
foreach ($file as $val) {
if (trim($val) != '') { //ignore empty lines
$sql = "INSERT INTO `db`.`table` (`column`) VALUES ('$val');";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
}
?>
我应该提到我需要插入大约2000行,你会推荐哪种方法来处理这么多的文本行?@hudds对于这么少的行数,我真的不认为这有什么关系。选择你最喜欢的方法。
$file = file("content.txt"); //read file line by line
foreach ($file as $val) {
if (trim($val) != '') { //ignore empty lines
mysql_query("INSERT INTO xxx SET club='" . $val . "'");
}
}
<?php
$conn = new PDO($dsn, $username, $password);
$stmt = $conn->prepare('INSERT INTO table VALUES (NULL, ?)');
foreach(file('list.txt') as $club) {
$stmt->execute(array($club));
}
<?php
$servername = "localhost";
$username = "user";
$password = "pass";
$dbname = "db";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$file = file("list.txt"); //read file line by line
foreach ($file as $val) {
if (trim($val) != '') { //ignore empty lines
$sql = "INSERT INTO `db`.`table` (`column`) VALUES ('$val');";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
}
?>