2015-08-28 50 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