Warum ist diese Abfrage falsch? (MySQL)

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

  • Warum ist diese Abfrage falsch? (MySQL)

    Hallo zusammen,

    ich habe folgende Abfrage bei mir eingebaut:

    PHP-Code:
    $query "SELECT * FROM Benutzer WHERE Login = '$login' AND PW = '$passwort'";
    $result mysql_query($query);
    $row mysql_fetch_array($result);
    $passwortdat $row[Login];
    $logindat $row[PW]; 
    $login und $passwort sind auf jeden Fall gefüllt, ich habs auch schon mit row ausprobiert, genau das gleiche Ergebniss. Die Variablen werden einfach nicht gefüllt. Wenn ich die Abfrage bei phpmyadmin eingebe dann funktioniert sie also muß das irgendwie am fetch array liegen, ich find aber den fehler nicht.
    Ach ja die Verbindung zur DB steht auch.

  • #2
    dann würde ich dir empfehlen mal die fehler ausgeben zu lassen.

    PHP-Code:
    $result mysql_query($query) or die(mysql_error()); 
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Re: Warum ist diese Abfrage falsch? (MySQL)

      du übergibst login und passwort an die datenbank, um dort einen passenden satz auszulesen, und willst dann login und passwort erneut aus dem ergebnis ermitteln - wozu der unsinn?
      die werte hast du doch schon.
      es reicht doch vollkommen aus, wenn du abprüfst, ob die abfrage ein ergebnis liefert (mysql_num_rows).


      btw: ausserdem sieht das hier logisch irgendwie falschherum aus, oder?
      $passwortdat = $row[Login];
      $logindat = $row[PW];
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        ... oder noch besser mit 'nen

        Code:
        SELECT COUNT(*) FROM Benutzer WHERE Login = '$login' AND PW = '$passwort'
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          Danke Euch allen, ich habe es jetzt so gelöst:
          PHP-Code:
              // ausführen einer SQL Anfrage
               
          $query "SELECT * FROM Benutzer WHERE Login = '$loginc' AND PW = '$passwortc'";
            
          $result mysql_query($query);
            
          $num_rows mysql_num_rows($result);


              
          // Login und Passwort überprüfen
              
          if ($num_rows == 1)  {
                  
          session_register("loginname");
                  
          $loginname $login;
                  
          header('Location: dbtest.php?'.SID);
              } else {
                  
          header('Location: anmeldung.php?fail=true');
              } 

          Kommentar


          • #6
            Ich weiß du hast es schon gelöst aber hier der Fehler den du ursprünglich wissen wolltest.

            Das kann nicht gehen, weil Anführungszeichen fehlen und in mysql eine Funktion gibt die eine Array mit den Feldname assoziiert:

            $row = mysql_fetch_array($result);
            $passwortdat = $row[Login];
            $logindat = $row[PW];

            Das klappt:

            $row = mysql_fetch_assoc($result);//Eine bestimmte Mysql Funktion
            $passwortdat = $row['Login'];//Die Anführungszeichen
            $logindat = $row['PW'];//HIer auch

            Kommentar

            Lädt...
            X