我正在努力创建多个用户和密码并将其插入mysql列。
插入多个用户名有效,但不能插入多个随机密码。
mysql表“users”-列“user”和“password”主键=用户列
工作原理:
用户在html表单中输入用户名和数字(要创建的用户和密码的数量)。
代码使用提交的用户名并添加一个从“1”到限制(提交的编号)的序列号。
输入示例:
提交的用户是John
提交的号码是20
示例结果:
约翰1,约翰2…约翰20
将来当用户请求另一个10个用户名为“john”的用户时,号码将从21开始(john21,john22…约翰30)
添加另一个系列尚未完成任何帮助和提示是受欢迎的。
我的代码:

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 .';';

最佳答案

这是因为您只向$ipass赋值一次。
从这里更改for循环

for($x = 1; $x <= $limit; $x++) {
    $queryuser[] = "('$uiuser$x', '$ipass'),";
}


for($x = 1; $x <= $limit; $x++) {
    $queryuser[] = "('$uiuser$x', '$ipass'),";
    $ipass = randomPassword();
}

关于php - 插入多个用户和随 secret 码Php&mysql,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39206175/

10-14 15:07
查看更多