CHecken of gebruikersnaam al in gebruik is (Mysql)

  • Onderwerp starter Onderwerp starter otie
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

otie

Gebruiker
Lid geworden
1 dec 2008
Berichten
313
Hallo,

weet iemand hoe ik kan checken of een username al in gebruik is in een MySQL db?
 
Je hebt 2 opties. De beste is om een UNIQUE constraint te zetten op het username veld.

Dan kun je gewoon proberen om de username nog een keer erin te zetten, en dan krijg je een error van de database die je op kunt vangen waarin staat dat de username al bestaat.

De minder veilige oplossing is om gewoon een query te draaien die alle gebruikers met die username opvraagt, en als dat er 1 of meer zijn, hem niet insert. Je loopt dat wel het risico dat als 2 gebruikers precies tegelijk dezelfde naam claimen, je er alsnog 2 in hebt zitten met dezelfde naam...
 
Hoe ziet zo'n mysql querty er dan uit?
 
PHP:
$sql = mysql_query("SELECT * FROM User");
$numrows=mysql_num_rows($sql);
if ($numrows == 1){
    echo "hij is al in gebruik";
}
elseif($numrows == 0){
    echo "hij is nog niet ingebruik";
}
zo iets maar dan mag de naam niet 2x in de DB zitten.

mvg, Michel
 
PHP:
$sql = mysql_query("SELECT * FROM User");
$numrows=mysql_num_rows($sql);
if ($numrows > 0 ){
    echo "hij is al in gebruik";
}
else {
    echo "hij is nog niet ingebruik";
}

Zo werkt het voor alle aantallen, is iets veiliger ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan