我正在努力创建多个用户密码并将其插入mysql列。插入多个用户名可以工作,但不能插入多个随机密码。
mysql表"users"-列"user"&'password'主键= user column
工作原理:
用户输入用户名和数字(有多少用户&
代码使用提交的用户名并添加一个从"1"到limit(提交的数量)的序列。
示例输入:
- 提交的用户是john
- 提交的数字是20
结果示例:
- john1 john2…john20
将来当用户请求另外10个用户&以相同的名称传递"john",数字将从21开始(john21, john22…john30)添加另一个系列尚未完成,欢迎任何帮助和提示。
我代码:function muser() {
function randomPassword() {
$alphabet = "abcdefghjkmnpqrstuwxyz23456789"; // skip 0OoIl1
$pass = array();
$alphaLength = strlen($alphabet) - 1;
for ($i = 0; $i < 6; $i++) {
$n = rand(0, $alphaLength);
$pass[] = $alphabet[$n];
}
return implode($pass);
}
if(isset($_REQUEST['submit'])) {
$user_input_user = $_REQUEST["user"];
$user_input_limit = $_REQUEST["limit"];
$ipass = randomPassword();
}
$uiuser = $user_input_user;
$uilimit = $user_input_limit;
$limit = $uilimit;
for($x = 1; $x <= $limit; $x++) {
$queryuser[] = "('$uiuser$x', '$ipass'),";
}
return implode($queryuser);
}
$mquery = 'INSERT INTO `users` (`user`, `pass`) VALUES ';
$imuser = muser();
$fquery = substr($imuser, 0, -1);
$sql = $mquery . $fquery .';';
问题的原因是您只给$ pass赋值一次。
改变for循环从这个
for($x = 1; $x <= $limit; $x++) {
$queryuser[] = "('$uiuser$x', '$ipass'),";
}
for($x = 1; $x <= $limit; $x++) {
$queryuser[] = "('$uiuser$x', '$ipass'),";
$ipass = randomPassword();
}