Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 韩元';t在txt到mysql数据库上启动新行_Php_Mysql - Fatal编程技术网

Php 韩元';t在txt到mysql数据库上启动新行

Php 韩元';t在txt到mysql数据库上启动新行,php,mysql,Php,Mysql,我对php和mysql都是新手。我有一个txt文件,上面有一个表,每个列用分号分隔column1;第2列,每行在txt文件中的新行上 第1-1列;第2列第1行 第1-2列;第2列第2行 我正在尝试使用phpmyadmin将txt文件上载到mysql表。第一排排排得很好,但第二排排不行。我试过\r和\n以及\r\n,但都不起作用。这些只会将txt文件上的第二个结果放到第一行mysql上的另一行(不是行)。因此,所有内容都将进入mysql表的第一行 我还尝试在最后一列后面加上分号column1;第2

我对php和mysql都是新手。我有一个txt文件,上面有一个表,每个列用分号分隔
column1;第2列
,每行在txt文件中的新行上

第1-1列;第2列第1行

第1-2列;第2列第2行

我正在尝试使用phpmyadmin将txt文件上载到mysql表。第一排排排得很好,但第二排排不行。我试过
\r
\n
以及
\r\n
,但都不起作用。这些只会将txt文件上的第二个结果放到第一行mysql上的另一行(不是行)。因此,所有内容都将进入mysql表的第一行

我还尝试在最后一列后面加上分号
column1;第2栏但所有这些都是在第一行之后停止的

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


好吧,这和我原来的问题是一样的。我有一个数据库,在这个数据库中有一个表,有两列“a”和“b”。我还创建了一个txt文件,其中包含50行数据。在txt文件中,我用分号a将“a”和“b”分开;b然后我在键盘上点击回车键生成下一行数据。当我使用SQL或PHP脚本上传txt文件,然后浏览数据库中的表时,它只输入了txt文件中的第一行,在第一行(数据库表中)的“b”之后,它开始在新行中输入第二行数据(来自txt文件),但仍然是同一行。我希望将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);
?>
你试过这个吗

LOAD DATA INFILE 'C:\\yourfile.txt'
INTO TABLE yourtable
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\r\n'
然后单击提交(go)按钮

编辑:如果您选择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);

我试过了,但出现了以下错误
#1045-拒绝对用户“用户名”@“%”的访问(使用密码:是)
您是否授予数据库权限?我应该,我是创建数据库的人。我应该在哪里检查?单击主页,然后单击特权。接下来,找到您的用户并单击编辑图标/按钮。为方便起见,只需单击顶部显示“全局权限”的“全部检查”按钮,然后单击“执行”。确保你的密码也是正确的!好吧,我想你把我弄丢了。我想我知道你的意思,所以我通过ftp将文件上传到我的主机,然后我再次尝试命令行,但我的文件路径设置如你所述,仍然收到相同的错误。你认为通过php来实现这一点会更容易、更省事吗?问题就在这里——“使用phpmyadmin”。停止取出命令行,并使用加载数据填充加载它。phpmyadmin永远不应该用于任何事情。这是一个数据销毁工具。$请发布您当前正在使用的源代码,否则,如果我当前的回答没有帮助,那么在这一点上几乎不可能帮助您。谢谢好的,我刚读了你最近的编辑。感谢您发布更多详细信息。这一点现在清楚多了。。不幸的是,很难重现你的错误。我将尝试创建一个类似的文本文件,然后尝试使用PHP将其插入数据库。当我完成后,我将发布文本文件和工作脚本的内容。非常感谢您的帮助。我真的很感激。:)[已解决]我发现,如果我使用记事本++创建txt文件,就会产生我遇到的问题。但如果我在notepadd++中创建它,然后在文本编辑器中打开并保存它,它的工作原理与我所希望的一样。我猜这是在记事本++中添加格式。非常感谢你的帮助和努力帮助我。我真的很感激。
<?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);