Datenbankinhalt als Array abholen und mit in_array() auswerten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datenbankinhalt als Array abholen und mit in_array() auswerten

    Hi,
    welche Funktion muss ich benutzen, um bei den über die SQL-Datenbank abgeholten Daten die Funktion in_array Benutzen zu können.

    Beispiel:
    Ich möchte alle Benutzernamen aus der Tabelle users abholen und dann überprüfen, ob ein Benutzername bereits vorhanden ist.

    Ich dachte immer man müsste mysql_fetch_array() benutzen. Nachdem er aber einen Falschen Datentyp angezeigt hatte, wwar ich mir nicht mehr sicher, ob das das richtige ist.

    Hier ein Code-Beispiel:

    PHP-Code:
    $sql "Select ..."
    //[...]
    $row mysql_fetch_array($result);
    $existingusers $row['username'];
    if (
    in_array($username$existingusers)) { 
    die (
    "Schon vorhanden");

    Hab auch schon das versucht:
    PHP-Code:
    $existingusers $row
    oder hab mysql_fetch_assoc() genommen

    Nur irgendwie geht alles nicht.

    Kann mir jemand mal ein Tipp geben?

    Micronax

  • #2
    Re: Datenbankinhalt als Array abholen und mit in_array() auswerten

    Original geschrieben von micronax
    PHP-Code:
    $row mysql_fetch_array($result);
    $existingusers $row['username']; 
    damit ist in $existingusers nur der Username des ersten Datensatzes ... um ein Array zu bekommen müsste sowas her
    PHP-Code:
    $existingusers = array();
    while (
    $row mysql_fetch_assoc($result)) {
      
    $existingusers[] = $row['username'];

    und dann funktioniert auch in_array()

    aber ich frage mich ob ein
    Code:
    SELECT COUNT(*) FROM users WHERE username = "der gesuchte"
    nicht wesentlich performanter ist (außer du willst ganz viele überprüfen)

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Hm.. die 2. Idee ist mir noch gar nicht engefallen.. das werde ich gleich mal ausprobieren x)

      Micronax
      Zuletzt geändert von ; 23.04.2006, 12:42.

      Kommentar

      Lädt...
      X