我正在努力创建多个用户和密码并将其插入mysql列。 插入多个用户名是有效的,但不是多个随机密码。
mysql表“用户” - 列“用户”& '密码'主键=用户列
工作原理:
用户在HTML表单中输入用户名和号码(要创建的用户数和传递数)。
代码使用提交的用户名并添加一个从“1”到限制(提交的号码)的序列号。
示例输入:
示例结果:
将来当用户请求另外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 .';';
答案 0 :(得分:1)
问题是由于您只给$ ipass赋值一次。
从此
更改for循环for($x = 1; $x <= $limit; $x++) {
$queryuser[] = "('$uiuser$x', '$ipass'),";
}
到
for($x = 1; $x <= $limit; $x++) {
$queryuser[] = "('$uiuser$x', '$ipass'),";
$ipass = randomPassword();
}