我正在尝试创建一个 PHP 脚本,该脚本将创建一个随机代码并根据数据库检查它是否存在。我希望它检查它是否存在,然后生成另一个createRandomCode()并检查它。
不确定如何继续循环直到行数为 0。
function createRandomCode($length='6'){
$chars = "abcdefghijkmnopqrstuvwxyz023456789";
srand((double)microtime()*1000000);
$i = 0;
$code= '';
while ($i++ < $length){
$code = $code. substr($chars, rand() % 33, 1);
}
return $code;
}
$shorturl = createRandomCode();
$q = $db - > query("SELECT * FROM maps WHERE url='".$shorturl.
"'");
if (mysqli_num_rows($q) > 0) {
$arr = json_encode($arr);
echo $arr;
}
Run Code Online (Sandbox Code Playgroud)
听起来像是do...while 循环的一个很好的候选者:
do {
$shorturl = createRandomCode();
$q = $db->query("SELECT * FROM maps WHERE url='".$shorturl."'");
} while(mysqli_num_rows($q) > 0);
Run Code Online (Sandbox Code Playgroud)