Php 将用户从文本文件导入MySQL

Php 将用户从文本文件导入MySQL,php,mysql,import,Php,Mysql,Import,生成我的表名时,它有以下列:(id、用户名、密码)-没什么特别的:) My users.text具有以下特性: 我试图将这些生成的用户导出到我的数据库中,但我试图检查用户是否已经存在;如果是这样,我继续下一个,但我得到了这个错误,我没有看到它 您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获取第1行“”附近要使用的正确语法 (PHP版本5.3.5) 我做了一些更改,现在似乎可以使用了,但我仍然有一个问题,在查询结束时,我无法在提交查询之前找到如何修剪它 这是密码 <?ph

生成我的表名时,它有以下列:
(id、用户名、密码)
-没什么特别的:)

My users.text具有以下特性:

我试图将这些生成的用户导出到我的数据库中,但我试图检查用户是否已经存在;如果是这样,我继续下一个,但我得到了这个错误,我没有看到它

您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获取第1行“”附近要使用的正确语法

(PHP版本5.3.5)


我做了一些更改,现在似乎可以使用了,但我仍然有一个问题,在查询结束时,我无法在提交查询之前找到如何修剪它

这是密码

<?php
$host = "localhost";
$user = "root";
$pass = "123456";
$db = "generated";
$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");
mysql_select_db($db) or die ("Unable to select database!"); 
$file = file('users.text'); # read file into array
$count= count($file);
if($count > 0) # file is not empty
{
    $milestone_query ="INSERT into `users`(`username`, `password`) values";
    $i = 1;
    foreach($file as $row)
    {
        $row = str_replace("\n", '', $row);
        $milestone = explode(' ',$row);
        $us= $milestone[0];
$requete ="SELECT `username` FROM `users` WHERE `username`='$us'";
$queryset=mysql_query($requete);
$row2 = mysql_fetch_assoc($queryset); 
$bood = $row2['username'];
if ($us == $bood)
{
  $i++;

}  else{
        $milestone_query .= "('$milestone[0]', '$milestone[1]')";
        $milestone_query .= $i < $count ? ',':'';

}

}
mysql_query($milestone_query) or die(mysql_error());
}
?>

我已经清理了一点代码。。祝你好运

<?php

$host = "localhost";
$user = "root";
$pass = "123456";
$db = "generated";

$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");
mysql_select_db($db) or die ("Unable to select database!");

$users = file('users.text'); # read file into array
if ($count = count($users)) # file is not empty
{

    $milestone_query = "INSERT into `users`(`username`, `password`) values";
    $milestone_query_count = strlen($milestone_query);

    foreach ($users as $i => $user) {
        $userInfo = explode(' ',trim($user));
        $username = current($userInfo);
        $password = next($userInfo);

        $requete = "SELECT `username` FROM `users` WHERE `username` ='{$username}'";
        if(!$result =boolval(mysql_fetch_assoc(mysql_query($requete)))){
            var_dump($username." added!");
            $milestone_query .= "('$username', '$password'),";
        }

    }

    $milestone_query = trim($milestone_query, ",");

    if(strlen($milestone_query) !== 50){
        mysql_query($milestone_query) or die(mysql_error());
        var_dump("finished!");
    }else{
        var_dump("No new users!");
    }

}

您能转储最终查询吗?“
插入生成的
用户名
密码
)值('expert11001','01995056\n'),('expert11001','01995056\n'),('expert11001','01995056\n'),('expert11001','01995056\n'),('expert11001','01995056\n'),('expert11001','01995056\n'),',('expert11001','01995056\n'),('expert11001','01995056\n')”此代码中的缩进非常不稳定。这使我们更难阅读,但也会使您更难调试。如果您能在代码中修复它,在这里,这通常是有用的。您确定它崩溃的是
插入
,而不是
选择
?是的,这让我抓狂插入看起来不错,但它没有问题没什么,只是出错了。有人可以修改这个plz吗?请使用完整的答案。如果你认为问题可以通过编辑来改进,就建议编辑。@BaummitAugen对不起,我以为我在回答他的问题。你看到他的评论了吗?他请人检查他的代码。是的,然后你做了一些“清理”没有告诉他你做了什么以及为什么。现在他可以复制粘贴你的代码并使用它(假设它是正确的),但他从中学到了什么?你甚至没有告诉他语法错误的来源。而仅仅改进格式(承认很差)就应该是一个编辑(除非格式是实际问题,否则请在回答中说明)。
<?php
$host = "localhost";
$user = "root";
$pass = "123456";
$db = "generated";
$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");
mysql_select_db($db) or die ("Unable to select database!"); 
$file = file('users.text'); # read file into array
$count= count($file);
if($count > 0) # file is not empty
{
    $milestone_query ="INSERT into `users`(`username`, `password`) values";
    $i = 1;
    foreach($file as $row)
    {
        $row = str_replace("\n", '', $row);
        $milestone = explode(' ',$row);
        $us= $milestone[0];
$requete ="SELECT `username` FROM `users` WHERE `username`='$us'";
$queryset=mysql_query($requete);
$row2 = mysql_fetch_assoc($queryset); 
$bood = $row2['username'];
if ($us == $bood)
{
  $i++;

}  else{
        $milestone_query .= "('$milestone[0]', '$milestone[1]')";
        $milestone_query .= $i < $count ? ',':'';

}

}
mysql_query($milestone_query) or die(mysql_error());
}
?>
<?php

$host = "localhost";
$user = "root";
$pass = "123456";
$db = "generated";

$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");
mysql_select_db($db) or die ("Unable to select database!");

$users = file('users.text'); # read file into array
if ($count = count($users)) # file is not empty
{

    $milestone_query = "INSERT into `users`(`username`, `password`) values";
    $milestone_query_count = strlen($milestone_query);

    foreach ($users as $i => $user) {
        $userInfo = explode(' ',trim($user));
        $username = current($userInfo);
        $password = next($userInfo);

        $requete = "SELECT `username` FROM `users` WHERE `username` ='{$username}'";
        if(!$result =boolval(mysql_fetch_assoc(mysql_query($requete)))){
            var_dump($username." added!");
            $milestone_query .= "('$username', '$password'),";
        }

    }

    $milestone_query = trim($milestone_query, ",");

    if(strlen($milestone_query) !== 50){
        mysql_query($milestone_query) or die(mysql_error());
        var_dump("finished!");
    }else{
        var_dump("No new users!");
    }

}