PHP rand最小链长

时间:2018-06-11 07:52:09

标签: php mysql

Rand函数在我的PHP Web应用程序中生成银行帐号。 我该怎么做才能使生成的数字始终10 numbers并且它们永远不会重复?例如:00000000000232346522等......

$r_nrkonta = rand(1000000000, 9999999999);

编辑: 我该怎么办才能再次生成银行编号?

    $r_nrkonta = rand(1000000000, 9999999999);

    $rezultat2 = $polaczenie->query("SELECT numerkonta FROM kontabankowe WHERE numerkonta='$r_nrkonta'");
    if (!$rezultat2)
        throw new Exception($polaczenie->error);

    $ile_takich_nrkonta = $rezultat2->num_rows;
    if ($ile_takich_loginow > 0)
        // generate again r_nrkonta ??

1 个答案:

答案 0 :(得分:0)

您可以尝试使用while结构:

$exist=true;

while ($exist==true) {
    $r_nrkonta = rand(1000000000, 9999999999);
    $rezultat2 = $polaczenie->query("SELECT numerkonta FROM kontabankowe WHERE numerkonta='$r_nrkonta'");
    if (!$rezultat2)
        throw new Exception($polaczenie->error);

    $ile_takich_nrkonta = $rezultat2->num_rows;
    if ($ile_takich_loginow <= 0)
            $exist=false;
}