0
我需要一個系統,爲每個新用戶創建隨機密碼和用戶名。檢查隨機生成的用戶名是否唯一
因此,我需要確保用戶名是唯一的。
但我無法弄清楚爲什麼下面的代碼不工作。這不是一個語法問題。我無法弄清楚我邏輯上出錯的地方。
反正這裏是我曾嘗試:
$Password= randomPassword();
$Username = randomPassword();
$UsernameCheckQuery = mysql_query("SELECT * FROM users WHERE username = '".$Username."'");
while (mysql_num_rows($UsernameCheckQuery) >= 1) {
$Username = randomPassword();
$UsernameCheckQuery = mysql_query("SELECT * FROM users WHERE username = '".$Username."'");
}
我知道這個話題的別處出現堆棧溢出,並在網絡上。然而,我看到的每個問題都使用if
語句來檢查用戶名是否已被使用。在我的情況下,我不能看到if
聲明如何工作,因爲randomPassword
函數可能會生成兩個已經存在於一行中的用戶名。
一個你應該使用do while循環。 http://php.net/manual/en/control-structures.do.while.php –
@ IgnacioVazquez-Abrams我不認爲這是。請看我的問題關於如果陳述 – jamesmstone
@詹姆斯麥克唐納好主意 – jamesmstone