将用户从文本文件导入 MySQL


Importing users from text file to MySQL

我的表名生成了,它有这些列: (id, username, password) - 没有什么花哨的:)

我的用户文本有这个:

expert1001 01995056
expert1002 58381484
expert1003 03154500
expert1004 45885204
expert1005 24750107
expert1006 14096885
expert1007 81250562
expert1008 00910766
expert1009 99830724

我正在尝试将这些生成的用户导出到我的数据库,但我正在尝试检查用户是否已经存在; 如果是这样,我会继续下一个,但我收到此错误并且看不到它。

您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的 '' 附近使用的正确语法

(PHP 版本 5.3.5)

<?php
$host = "localhost";
$user = "root";
$pass = "1234";
$db = "users";
$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 `generated`(`username`, `password`) values";
    $i = 1;
    foreach($file as $row)
    {
$milestone = explode(' ',$row);
$requete ="SELECT * FROM `lines` WHERE `username`='$milestone[0]'";
$queryset=mysql_query($requete);
while($row2 = mysql_fetch_assoc($queryset)){
$bood = "".$row2['username']."";
$us=$milestone[0];
if ($us == $bood )
{
  $i++; 
}  else {
$milestone_query .= "('$milestone[0]',  '$milestone[1]')"; 
$milestone_query .= $i < $count ? ',':'';
$i++; 
}
}
}
if ($milestone_query != NULL ){
mysql_query($milestone_query) or die(mysql_error());
}else{
die();
}
}
echo "Done!";
?>

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

这是代码

<?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());
}
?>

这是查询结果

"插入usersusernamepassword ) 值('aspireupp7p', '97025407'),('artre1r7pp', '40138199'),('asuiozy4p', '44896449'),('asuytrdiop', '36582797'),"

你看到最后我有这个你们能帮我吗谢谢

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

<?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!");
    }
}