Ankündigung

Einklappen
Keine Ankündigung bisher.

Mysql__multi_query

Einklappen

Neue Werbung 2019

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

  • Mysql__multi_query

    Tag zusammen,

    folgender PHP-Code:
    PHP-Code:
    $sql "SELECT benutzer FROM login WHERE benutzer = '"mysqli_real_escape_string($link$benutzer) ."';";
    $sql .= "SELECT passwort FROM login WHERE passwort = '"mysqli_real_escape_string($link$passwort) ."';";
        
    if(
    $res mysqli_multi_query($link$sql)){        
        echo 
    "JUHU!";
    }else{
        echo 
    mysqli_error($link);

    Es existieren zwei Benutzer in login, die jeweils ihren Namen als PW haben. WIe vehindere ich das Benutzer 1 sich mit dem PW von Benutzer 2 einloggt?

    DSKING


  • #2
    PHP-Code:
    ...WHERE name 'zuck' AND pw 'zack' 
    aka keine multiquery, sondern mehrere Where-Klauseln
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar


    • #3
      aber jetzt kann sich benutzer eins mit pw von benutzer2 einloggen.

      Kommentar


      • #4
        AND
        Nein, es müssen Benutzername und dessen Passwort stimmen.
        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          So ist das, wenn die Passwörter bekannt sind. Vielleicht versteh ich dich auch nur falsch, kA.
          Relax, you're doing fine.
          RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

          Kommentar


          • #6
            PHP-Code:
            $sql "SELECT benutzer, passwort FROM login WHERE benutzer = '"mysqli_real_escape_string($link$benutzer) ."' AND passwort = '"mysqli_real_escape_string($link$passwort) ."'";
                
                if(
            $res mysqli_query($link$sql)){
                    
                    echo 
            "JUHU!";
                    
                }else{
                    echo 
            mysqli_error($link);
                } 
            In der Datenbank steht zu jedem Benutzer ein Passwort.

            Kommentar


            • #7
              Ja, und weiter?
              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                Benutzer eins kann sich mit dem passwort von benutzer zwei anmelden

                Kommentar


                • #9
                  Nein. (Es sei denn Passwort von Benutzer 1 ist das gleiche wie von Benutzer 2.)

                  Kommentar


                  • #10
                    Sind sie nicht und es funktioniert trotzdem...

                    Kommentar


                    • #11
                      mysqli_query liefert true zurück, wenn die Query nicht fehlerhaft ist.
                      Was du prüfen solltest, ist ob auch Datensätze gefunden werden.
                      Relax, you're doing fine.
                      RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

                      Kommentar


                      • #12
                        Zitat von DsKing Beitrag anzeigen
                        Sind sie nicht und es funktioniert trotzdem...
                        Dann hast du einen andern Fehler drinnen. Wenn du diese User hast
                        Code:
                        user  | pass
                        -------------
                        hans  | geheim1
                        peter | geheim4
                        und du fragst die Datenbank

                        zeige mir alle Benutzer

                        Code:
                        ... WHERE username='peter' AND pass='geheim4'
                        Dann gibt es damit genau nur einen Satz.

                        Denn zB mit dieser Kombination gibt es keinen. Wichtig ist nur AND und nicht OR in der SQL-Query

                        Code:
                        ... WHERE username='peter' AND pass='geheim1'
                        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                        PHP.de Wissenssammlung | Kein Support per PN

                        Kommentar

                        Lädt...
                        X