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