2015-08-28 51 views
0

如何檢查用戶名是否已經被數據庫佔用? 我曾嘗試這個代碼,但沒有奏效檢查用戶名是否已被使用

$usernamecheck=mysql_query("SELECT userName FROM websiteusers WHERE userName='$_POST['username']'"); 
+0

你是開放的與此代碼的SQL注入。不要將用戶輸入直接傳遞給您的查詢。 http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php – chris85

回答

1

你可以試試這個:

$user = $_POST['username']; 
    $usernamecheck=mysql_query("SELECT `userName` FROM `websiteusers` 
          WHERE userName='$user'", $dbcon); 
if(mysql_num_rows($usernamecheck)>=1){ 
    echo $user." is already taken"; 
}else{ 
    echo $user."is available"; 
} 
+0

感謝它的工作!再次,它將新用戶插入數據庫 – Kolibrok

+0

@Kolibrok您必須在錯誤的位置插入。給表一個唯一的約束,然後將無法插入dups。修復SQL注入漏洞。 – chris85

+0

我看了你剛剛發送的內容,並且我不擅長php,所以我沒有做得很好( – Kolibrok

0
$usernamecheck=mysql_query("SELECT userName FROM websiteusers WHERE userName='".$_POST['username']."'"); 
+0

只是更好的希望沒有愛爾蘭的名字。 ;) – Uueerdo

+0

...或惡意用戶 – chris85