不会在 txt 上启动到 mysql 数据库的新行



我对php和mysql都很陌生。我有一个txt文件,上面有一个表,每列由分号column1;column2分隔,每一行在txt文件中的新行。

column1-row1; column2-row1

column1-row2; column2-row2

我试图使用phpmyadmin将txt文件上传到mysql表。第一行可以放进去,但第二行不行。我试过rn,也试过rn,但这些都不起作用。它们只会将文本文件上的第二个结果放到第一个mysql行上的另一行(而不是行)。所以所有的东西都放到mysql表的第一行。

我也尝试在最后一列以及column1;column2;之后放置分号,但所有这些都是在第一行之后停止。

我想我是在问我如何格式化txt文件,使txt文件上的每一行在sql表中开始一个新的行。或者我需要先在phpmyadmin上设置一些东西。这可能非常简单,但是,我对php和sql都很陌生。非常感谢。


好的,这和我最初遇到的问题一样。我有一个数据库,在这个数据库中,我有一个表,有两列a和b。我还创建了一个文本文件,其中包含50行数据。在txt文件中,我用分号a;b分隔了'a'和'b',然后我按下键盘上的回车键来生成下一行数据。当我使用SQL或PHP脚本上传txt文件,然后浏览我的数据库表时,它只从我的txt文件中输入第一行,在第一行(在我的数据库表上)中的"b"之后,它已经开始在新行上输入第二行数据(从我的txt文件中),但仍然是同一行。我想从我的文本文件第二被放置在我的数据库表的新行。也许我不能,但这就是我遇到的问题。

这是我使用的代码:

<?php
                                
$user_name = "username";
$password = "password";
$database = "database";
$server = "server";
                                
                                
                                
$db = mysql_connect($server, $username, $password);
            
            
if (!$db) {
    die('Could not connect: ' . mysql_error());
}
$fileHandle = fopen('my_text_file.txt', 'rb');
while (!feof($fileHandle)) {
    $cols  = explode(';', fgets($fileHandle));
    $query = sprintf(
        'INSERT INTO database_table (field1_name, field2_name) VALUES ("%s", "%s")',
        $cols[0], $cols[1]
    );
    mysql_query($query);
}
fclose($fileHandle);
mysql_close($db);
?>

我的txt文件是这样的:

a;b
c;d
e;f

你试过了吗?:

LOAD DATA INFILE 'C:\yourfile.txt'
INTO TABLE yourtable
FIELDS TERMINATED BY ';'
LINES TERMINATED BY 'rn'

然后点击提交(转)按钮。

编辑:如果你选择PHP路线,试试这个:

<?php
$db = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$db) {
    die('Could not connect: ' . mysql_error());
}
$fileHandle = fopen('yourfile.txt', 'rb');
while (!feof($fileHandle)) {
    $cols  = explode(';', fgets($fileHandle));
    $query = sprintf(
        'INSERT INTO yourtable (column1, column2) VALUES ("%s", "%s")',
        $cols[0], $cols[1]
    );
    mysql_query($query);
}
fclose($fileHandle);
mysql_close($db);

假设文本文件中的每一行用换行符分隔,它应该可以工作。

最新更新