**heul** Unknown column :-((

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

  • **heul** Unknown column :-((

    Hallo Forum!

    ich sitz schon seit Stunden an nem MySQL-gestützten Passwortabfrage-Skript das einfach nicht so will wie ich es will....

    Ich krieg immer wieder ausgegeben "Unknown Column...."

    Hier mal Auszüge aus meinem Code...

    PHP-Code:
    //---Username und Passwort abholen

    $username=$_POST['username'];
    $password=$_POST['password'];

    //--Variablen säubern
    //--Magic_quotes_gpc ist bei 1und1 immer on!

    stripslashes($username);
    $username="'".mysql_real_escape_string($username)."'";


    //----DB-Zugangsdaten holen

    include("includes/zugangsdaten.inc");


    //----Query durchführen

    $query=sprintf("SELECT * FROM login WHERE 
    username=
    $username") or die(mysql_error());
    $sql=mysql_query($query); 

    Wenn ich ín der Seite davor Username und Passwort eingebe dann kommt immer sowas wie

    Unknown column 'admin' in 'where clause'

    Warum nur?! Ich probier schon seit Stunden hier rum und hab mich auch bei php.net schon versucht schlauzumachen aber bin inzwischen mit meinem Latein echt am Ende.

    vielen Dank für jede Hilfe,

    der dilettant

  • #2
    das selbe problem => http://www.php-resource.de/forum/sho...threadid=57083
    Kissolino.com

    Kommentar


    • #3
      hilft nix....

      wenn ich da Quotes setze dann wird überhaupt nix aus der Datenbank geholt

      Kommentar


      • #4
        was heisst denn "hilft nix" ... ist der fehler weg oder nicht? und was in deiner db in der spalte username steht, weisst nur du und deine db.
        Kissolino.com

        Kommentar


        • #5
          "hilft nix" heißt DER Fehler ist dann zwar weg, aber wenn ich mir dann ausgeben lasse was daraufhin aus der DB geholt wurde dann ist die ausgabe leer, also wurde wohl nix von dort rausgefischt

          Kommentar


          • #6
            Original geschrieben von DerDilettant
            "hilft nix" heißt DER Fehler ist dann zwar weg, aber wenn ich mir dann ausgeben lasse was daraufhin aus der DB geholt wurde dann ist die ausgabe leer, also wurde wohl nix von dort rausgefischt
            dann wird wohl nix drin stehen was passt ... kann es von hier aus grad nicht genau erkennen, was da drin steht

            btw: was soll das denn sein:
            PHP-Code:
            $query=sprintf("SELECT * FROM login WHERE 
            username=
            $username") or die(mysql_error()); 
            ?

            anyway,
            1. setz "or die(mysql_error());" hinter mysql_query() ein
            2. prüf den inhalt deiner tabelle
            3. ... auch auf unsichtbare zeichen (\n \r etc. pp.)

            wenn alles nichts hilft, geh schlafen, probier es morgen nochmal.
            Kissolino.com

            Kommentar


            • #7
              Original geschrieben von Wurzel
              dann wird wohl nix drin stehen was passt ... kann es von hier aus grad nicht genau erkennen, was da drin steht
              also, es gibt eine Spalte "username" wo auch tatsächlich der Login-Name "admin" drinsteht. Das gleiche mit dem Passwort, auch das ist eindeutig in der DB hinterlegt.

              ich hab noch ein paarmal rumprobiert und mich auch genau an das Beispiel hier gehalten:

              http://de3.php.net/manual/de/functio...ape-string.php

              und die dortige Beispielfunktion "quote_smart()" auf meinen Fall angepaßt und mehrmals kontrolliert ob ich das auch richtig reingepackt habe. Still nothing

              Kann das daran liegen daß PHP und MySQL einfach "schlecht" konfiguriert sind bei 1und1? Hat damit wer Erfahrungen?

              Hier mal ein Link zu der Konfiguration bei 1und1:

              http://faq.1und1.de/hosting/scripte_...php/index.html
              Zuletzt geändert von DerDilettant; 23.07.2005, 00:58.

              Kommentar


              • #8
                Re: **heul** Unknown column :-((

                Ja, du hast das Beispiel mit quote_smart() abgetippt. Da wird aber nur eine Query abgesetzt. Das Ergebnis wird nicht gelesen, folglich auch nichts ausgegeben.

                Mal ehrlich, dein Anliegen ist ziemlich trivial, du solltest dich eingehender mit den Grundlagen beschäftigen.

                Folgender Code sollte funktionieren, sofern es eine Spalte password gibt und der Inhalt MD5-verschlüsselt ist.
                (Ergebnis wird hier auch nicht gelesen, lediglich geprüft, ob es eins gibt. Wie man Resultsets liest, steht im Handbuch.)
                PHP-Code:
                // macht hoffentlich auch mysql_connect() etc.
                include("includes/zugangsdaten.inc");

                $password mysql_real_escape_string(stripslashes($_POST['password']));
                $username mysql_real_escape_string(stripslashes($_POST['username']));

                // Passwort testen macht Sinn!
                $sql "SELECT * FROM login WHERE username = '$username' AND password = MD5('$password')";

                $res mysql_query($sql) or die(mysql_error());

                if (
                mysql_num_rows($res) == 1) {
                    echo 
                'eingeloggt';
                } else {
                    echo 
                'nicht eingeloggt';

                Kommentar


                • #9
                  ...auf die Gefahr hin daß ich morgen früh geschlagen werde von den Foren-Experten hier:

                  hab den Fehler gefunden. in dem skript gibt es mehrere queries weil u.a. der Username nach 3x falschem Passwort deaktiviert und eine Mail an den Admin geschickt werden soll (nicht meine Idee, der für den das Skript ist will das so)...

                  ganz unten fast am Ende des Skripts war der Fehler, dort haben einmal die Hochkommas beim "WHERE username='$username'" gefehlt - nicht oben am Anfang wo erstmals mit der DB abgeglichen wird...

                  also los, haut mich

                  Kommentar


                  • #10
                    Ach iwo, alles Pazifisten hier. Aber deinen Nick hast du mit Bedacht gewählt, Respekt.

                    Kommentar


                    • #11
                      Original geschrieben von onemorenerd
                      Aber deinen Nick hast du mit Bedacht gewählt, Respekt.
                      naja, man tut was man kann

                      Aber ganz ehrlich, erstens war es wie man sehen kann schon zu relativ später stunde mit der ganzen Bastelei, andererseits bin ich in der Tat gerade dabei, mir den ganzen Kram erst beizubringen. Also habt Nachsehen und lasst Milde walten

                      Kommentar


                      • #12
                        mir den ganzen Kram erst beizubringen.
                        und dann programmierst du schon für andere leute?

                        Kommentar


                        • #13
                          tja... learning by doing

                          Kommentar

                          Lädt...
                          X