Ergebnis 1 bis 8 von 8

Thema: [MySQL] Eintrag (bsp. Benutzername) schon vorhanden - Wie überprüfen?

  1. #1

    [MySQL] Eintrag (bsp. Benutzername) schon vorhanden - Wie überprüfen?

    Wie würdet Ihr in einer MySQL Datenbank per PHP abfragen ob ein Eintrag schon vorhanden ist (z.B. ob ein Nick schon vorhanden ist?)

    Meine Lösung ist blöd, wie folgt:
    PHP sucht in MYSQL den nickname und dabei kommt ein array als Ergebnis heraus:
    if(is_array(mysql_fetch_array(mysqlbla)){echo "Vollidiot. Der Nick ist in Verwendung";}

    Geht das ganze nicht irgendwie besser?

  2. #2
    Du kannst z.B. die Treffer auszählen lassen.
    PHP-Code:
    <?php
    // sucht den Namen
     
    $get_user=mysql_query("SELECT * FROM user WHERE name='$gesuchter_name'"); 

    // zählt die gefundenen Reihen aus und vergleicht auf 0
     
    if(mysql_num_rows($get_user)==0
      { echo 
    "Willkommen."; } // wenn der Name nicht vorhanden
     
    else
      { echo 
    "Fehler."; } // wenn der Name vorhanden
    ?>

  3. #3
    Zitat Zitat von lizard
    Du kannst z.B. die Treffer auszählen lassen.
    PHP-Code:
    <?php
    // sucht den Namen
     
    $get_user=mysql_query("SELECT * FROM user WHERE name='$gesuchter_name'"); 

    // zählt die gefundenen Reihen aus und vergleicht auf 0
     
    if(mysql_num_rows($get_user)==0
      { echo 
    "Willkommen."; } // wenn der Name nicht vorhanden
     
    else
      { echo 
    "Fehler."; } // wenn der Name vorhanden
    ?>
    Hat mir auch ein Freund vor ein paar Minuten vorgeschlagen.
    Habe diese Lösung jetzt auch verwendet - was richtig brauchbares scheint es irgendwie nicht zu geben. Schade, aber egal.

  4. #4
    Hat MySQL nicht auch ein Attribut unique für Felder, damit da nicht der selbe Eintrag mehrmals drinstehen kann? Ich meine, da war was in der Art...

  5. #5
    Zitat Zitat von masterquest
    Hat MySQL nicht auch ein Attribut unique für Felder, damit da nicht der selbe Eintrag mehrmals drinstehen kann? Ich meine, da war was in der Art...
    Hm, könntest recht haben. Sollte ich also versuchen den Nick zu schreiben käme ein FALSE raus... joa, clever clever.

    Muss ich später oder morgen gleich ausprobieren (je nach Laune).

  6. #6
    Zitat Zitat von masterquest
    Hat MySQL nicht auch ein Attribut unique für Felder, damit da nicht der selbe Eintrag mehrmals drinstehen kann? Ich meine, da war was in der Art...
    Jo hast 100%ig recht MQ gibt denn befehl aber ob man dann auch die Fehlernachricht gut ausgeben kann ;/

  7. #7
    Zitat Zitat von masterquest
    Hat MySQL nicht auch ein Attribut unique für Felder, damit da nicht der selbe Eintrag mehrmals drinstehen kann? Ich meine, da war was in der Art...
    MySQL hat Unique. ALlerdings würde ich mich nicht darauf verlasse, sondern lieber die mysql_num_rows()-Lösung verwenden. Im Fall einens doppelten Eintrags bei einem Unique-Feld bekommst du einen MySQL-Fehler (Duplicate entry for 'bla')

  8. #8
    Ich würde eine Kombination aus beidem Verwenden: Sowohl ein unique Feld als auch eine Überprüfung mit mysql_num_rows() oder COUNT() (was man in diesem Fall auch verwenden könnte, oder?)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •