我有一个代码,它使用代码生成一个 6 位随机数并将其mt_rand(100000,999999);
存储在变量中$student_id
。我使用以下代码检查数据库中是否存在该号码。
if($stmt = mysqli_prepare($connect, "SELECT id FROM students WHERE id = ? LIMIT 1")) {
mysqli_stmt_bind_param($stmt, "i", $student_id);
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);
mysqli_stmt_bind_result($stmt, $db_id);
mysqli_stmt_fetch($stmt);
}
if(mysqli_stmt_num_rows($stmt) == 1) {
echo "The ID exists.";
} else {
// Insert $student_id into database
}
此代码可以将 ID 插入到数据库中,如果mysqli_stmt_num_rows($stmt) == 0
. 但是,如果 ID 已经存在,它不会生成一个新的 6 位随机 ID,它不会检查该 ID 是否已经存在于数据库中,等等。我可以想象我将不得不使用某种循环将继续生成一个随机 ID,直到它在数据库中不存在,然后将其插入数据库。我读过一些循环(如while
or for
),但我不知道如何使用它们。
任何人都可以帮助我解决这个问题或帮助我朝着正确的方向前进吗?
干杯