Fehler bei Abfragen aus der DB

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

  • Fehler bei Abfragen aus der DB

    Schön guten Abend!

    Probiere schon den ganzen Tag in php folgendes Problem zu lösen.
    Bei einer Registrierung soll sich ein User einen Usernamen aussuchen und Password ... .
    Nachdem er alle Felder ausgefüllt hat, drückt er einen Send Button.
    Jetzt soll überprüft werden, ob dieser Name bereits in der Datenbank vorhanden ist.
    In der DB ist der Table user mit User_ID, Username, Password... .

    Ich wollte folgendermaßen vorgehen:

    $comm="select* Username from user";
    $result=mysql_db_query($dbase,$comm,$lh);
    uname=mysql_fetch_row($result);

    while(!empty($uname[0]))
    {
    if ($username == $uname[0])
    {
    die ("Username already exists");
    }
    $uname=mysql_fetch_row($result);

    Bekomme immer diese Warning:
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\progr...

    Könnte mir jemand bitte helfen? Irgenwelche Ideen oder anderen Code, den ich benutzen könnte?

    LG

  • #2
    nur für den, der lesen kann:
    http://www.php-resource.de/forum/sho...threadid=50454

    Kommentar


    • #3
      Probier es mal so:

      PHP-Code:
      // DB Verbindung aufbauen und dann:

      $comm="SELECT * Username FROM user";
      $result=mysql_db_query($comm);

      while(
      $row mysql_fetch_assoc($result))
       { 
         if (
      $username == $row[Username])
          {
            die (
      "Username already exists");
          }
       } 

      Kommentar


      • #4
        mal mysql_error() anschauen und ist das dein original Code ???


        PHP-Code:
        $comm="select* Username from user";
        $result=mysql_db_query($dbase,$comm,$lh);
        uname=mysql_fetch_row($result); //vermisst du hier was???

        while(!empty($uname[0]))

        if (
        $username == $uname[0])
        {
        die (
        "Username already exists");
        }
        $uname=mysql_fetch_row($result); 

        PS: ist ein recht doofer Check ob der Username schon vorhanden ist.
        mfg
        marc75

        <Platz für anderes>

        Kommentar


        • #5
          Mach das Attribut Username einfach unique.

          Kommentar


          • #6
            Hi!

            Habe den geänderten Code ausprobiert. Bekomme folgende Fehlermeldung:

            Einmal für die Zeile:
            $result=mysql_db_query($comm);

            Warning: Wrong parameter count for mysql_db_query() in c:\programme\easyphp1-7\www\test.php on line 36


            Und einmal für die Zeile:
            while($row = mysql_fetch_assoc($result))

            Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\programme\easyphp1-7\www\test.php on line 38

            Mir gehen langsam die Ideen aus!

            @marc: Weiss, dass das ein doofer Check ist! Muss aber gemacht werden.

            LG

            Kommentar


            • #7
              gratis-ideen bei:
              www.php.net (!)
              www.schattenbaum.net
              www.php-faq.de
              http://tut.php-q.net

              dort findest du die grundkenntnisse, die dir fehlen.

              Kommentar


              • #8
                Entweder
                PHP-Code:
                $result mysql_db_query($dbase$comm
                oder
                PHP-Code:
                $result  mysql_query($comm); 
                und bei Fehlermeldungen generell auch mal einen Blick auf www.php.net werfen.

                Kommentar


                • #9
                  @marc: Weiss, dass das ein doofer Check ist! Muss aber gemacht werden.
                  naja, aber so? wenn du 10000 User hast willste die jedes mal komplett mit der while durchlaufen?


                  und wegen deiner Fehlermeldungen, entweder die Links von penizillin folgen und lesen, oder einen Auftrag draus machen und bezahlen.

                  Auf fertigen Code hoffen ist nicht. copy/paste kann jeder, naja fast.
                  mfg
                  marc75

                  <Platz für anderes>

                  Kommentar


                  • #10
                    so! habs hin bekommen

                    für alle die ein ähnliches problem haben - hier meine lösung

                    $sql="select User_ID from user where Username='$username'";
                    $result = mysql_query($sql);
                    $userdaten = mysql_fetch_row($result);
                    if (!empty($userdaten[0]))
                    {
                    die ("Username already exists");
                    }

                    schönen tag noch

                    Kommentar

                    Lädt...
                    X