mysql_num_rows ?

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

  • mysql_num_rows ?

    Servus !
    Ich hab mal wieder ein kleines Problem. Ich hab ein kleines Script geschrieben, das bei der Neuanmeldung von Usern dafür sorgen soll, dass kein Username doppelt vorkommt. Dazu soll in der Tabellenspalte in der die User gespeichert sind nach dem Eintrag im Namesfeld des Anmeldungsformulares gesucht werden.
    Ist die Zahl der gefundenen Reihen ungleich 0 d.h. der Username wird bereits verwendet soll ein Fehler ausgegeben werden.
    Das Script sieht bisher so aus:

    Verbindung zur Datenbank wird hergestellt, aber es erscheint folgende Fehlermeldung:

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web525/html/anmeldung.php on line 69


    (Zeile 69 ist die letzte meiner geposteten Zeilen)



    PHP-Code:

    $usercheck 
    "SELECT * FROM user WHERE username LIKE $name LIMIT 1";
    $ergebnis_usercheck mysql_query($usercheck); 
    $num_usercheck mysql_num_rows($ergebnis_usercheck);

    if (
    $num_usercheck != 0

    // Username schon vorhanden 
    echo "Sorry, aber dein Username wird bereits verwendet.";

    Könnt ihr mir vielleicht sagen, wo der Fehler sitzt ?

  • #2
    ganz global:

    mysql_error()
    Der Programmierer ist der Vormund des Anwenders.

    Kommentar


    • #3
      Re: mysql_num_rows ?

      Mach da mal
      PHP-Code:
      $ergebnis_usercheck mysql_query($usercheck) or die (mysql_error()); 
      draus, dann siehste deinen Fehler. Oder schau dir einfach nochmal dein ...LIKE .... an

      Kommentar


      • #4
        Okay, danke für die schnelle Hilfe

        Das LIKE hab ich ausm Schattenbaum Tutorial

        Kommentar


        • #5
          Original geschrieben von Perceptor
          Das LIKE hab ich ausm Schattenbaum Tutorial
          Na dann schau es dir aber bitte nochmal genauer an, da steht es ein bisschen anders, als bei dir...
          http://schattenbaum.net/php/abfrage2.php

          Kommentar


          • #6
            Das LIKE hab ich ausm Schattenbaum Tutorial
            Zeig mal, da muss man die gute Frau ja drauf hinweisen.

            Kommentar


            • #7
              Sers, ich mal wieder !

              Also ich hab mit dem gleichen Script wieder ein Problem :

              Also, hier mal wieder ein Scriptausschnitt:

              PHP-Code:


              if ($länge_pw <= 3)
              {
              // PW-Länge zu kurz
              echo "Sorry, aber dein Passwort ist zu kurz, es muss mindestens 4 Zeichen lang sein.";
              }

              else 
              {
              echo 
              " Bisher alles okay, fahre mit Datenprüfung fort";
              // Pw-Länge in Ordnung
              // Prüfen, ob Username schon vorhanden

              include ("dbconnect.php"); 
              $usercheck "SELECT * FROM user WHERE username = '$name'";
              $ergebnis_usercheck mysql_query($usercheck) or die (mysql_error()); 
              $num_usercheck mysql_num_rows($ergebnis_usercheck) or die (mysql_error());;

              if (
              $num_usercheck != 0

              // Username schon vorhanden 
              echo "Sorry, aber dein Username wird bereits verwendet.";
              }

              else
              {
              echo 
              " Alles okay, Fahre mit Prüfung fort !";

              Es funktioniert bis zu dem Punkt, an dem aus der DB ausgelesen werden soll, ab dem connecten zur DB (erfolgreich) passiert nichtsmehr, es wird weder irgendein Text noch ein Fehler ausgegeben. Woran kann das liegen ?

              Kommentar


              • #8
                Testausgaben gemacht?

                Wieso antwortest du mir nicht?

                Kommentar


                • #9
                  Äääh das mit Schattenbaum war ein Missverständnis, dort wurde das LIKE nämlich ein bisschen anders angewandt.

                  Hier kann mans nachlesen


                  Und was meinst du genau mit Testausgaben?

                  Kommentar


                  • #10
                    Wieso weiß eigentlich keiner von euch angehenden "Programmierern", was eine Test (ja, kommt von Test, testen) Ausgabe (und das kommt von Ausgabe, ausgeben - z.B. mittels echo) ist???

                    Kommentar


                    • #11
                      Re: mysql_num_rows ?

                      Original geschrieben von Perceptor
                      PHP-Code:
                      $usercheck "SELECT * FROM user WHERE username LIKE $name LIMIT 1"
                      So stands bei dir...
                      Äääh das mit Schattenbaum war ein Missverständnis, dort wurde das LIKE nämlich ein bisschen anders angewandt.
                      da frage ich mich wo bis auf das LIMIT...? Hier der Auszug aus Schattenbaum..:
                      PHP-Code:
                      $abfrage "SELECT * FROM links WHERE name LIKE 'Claudia Schaffarik'"

                      Kommentar


                      • #12
                        Klappt's bis zum connect mit der DB oder dem Server?

                        und wie sieht's mit mysql_error() in der "dbconnect.php" aus?

                        Kommentar


                        • #13
                          Also an der DBconnect liegts sicherlich nicht. Die verwende ich in anderen Scripts und da funktioniert die Wunderbar.
                          Die gibt mir auch ne positive Meldung zurück was das connecten und aussuchen der DB angeht. Also daran liegts nich.

                          Ich hab das Script nu n bisschen geändert, und zwar hab ich versucht mir dir mysql_num_rows ausgeben zu lassen:

                          PHP-Code:

                          if ($länge_pw <= 3)
                          {
                          // PW-Länge zu kurz
                          echo "Sorry, aber dein Passwort ist zu kurz, es muss mindestens 4 Zeichen lang sein.";
                          }

                          else 
                          {
                          echo 
                          " Bisher alles okay, fahre mit Datenprüfung fort";
                          // Pw-Länge in Ordnung
                          // Prüfen, ob Username schon vorhanden

                          include ("dbconnect.php"); 
                          $usercheck "SELECT * FROM user WHERE username = '$name'";
                          $ergebnis_usercheck mysql_query($usercheck) or die (mysql_error()); 
                          $num_usercheck mysql_num_rows($ergebnis_usercheck) or die (mysql_error());;
                          echo 
                          "$num_usercheck";
                          if (
                          $num_usercheck != 0

                          // Username schon vorhanden 
                          echo "Sorry, aber dein Username wird bereits verwendet.";

                          Es wird nur
                          "Bisher alles okay, fahre mit Datenprüfung fort"
                          ausgegeben. Danach fehlt jegliche Ausgabe. Aber auch kein Fehler

                          Kommentar


                          • #14
                            dann kopiere den relevaten code aus der dbconnect.php doch mal direkt da rein ...
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Okay, hier die dbconnect.php

                              entsprechende Werte sind natürlich von mir umgeändert worden

                              PHP-Code:

                              // Zur DB connecten

                              $connect mysql_connect('localhost''username''pw');
                              if (!
                              $connect)
                              {
                               die (
                              'keine Verbindung möglich: ' mysql_error());
                              }
                              echo 
                              'Verbindung erfolgreich<br />';

                              // DB aussuchen

                              $suche mysql_select_db("usr_web525_1");
                              if (!
                              $suche)
                              {
                              die (
                              "Datenbank nicht gefunden" mysql_error());
                              }
                              else
                              {
                              echo 
                              "Datenbank gefunden<br />";

                              Kommentar

                              Lädt...
                              X