Ankündigung

Einklappen
Keine Ankündigung bisher.

Abfrage eigentlich korrekt, jedoch keine Rückgabe

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

  • Abfrage eigentlich korrekt, jedoch keine Rückgabe

    Hallo,

    also ich bekommen ein JSON von einem POST-Request und entnehme diesem Usernamen und Passwort.
    (ich weis, nicht sehr sicher)

    PHP-Code:
    $username $request->getParam('username');
    $passwort $request->getParam('passwort'); 
    Dann kommt die Abfrage:
    PHP-Code:
    $result mysqli_query($db"SELECT ID FROM person WHERE Username='$username' AND Passwort='$passwort'");
    $row mysqli_fetch_assoc($result); 
    Obwohl ich mir die 2 Variablen vorher bereits über "echo" ausgeben habe lassen, um diese zu kontrollieren und festzustellen das diese mit den Einträgen in der Datenbank übereinstimmen,
    ist $row 0.

    Testusername: sekre.tär
    Passwort: 1234567


  • #2
    Dann lass Dir die erzeugte Query einmal ausgeben.
    Wenn Du der Meinung bist, dass die mit den befüllten Daten stimmt, kopierst Du die bspw. in phpMyAdmin und schaust, was dabei rauskommt...
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche Tutorials

    Kommentar


    • #3
      Mit anderen Usern funktioniert es ja, es liegt halt an dem Umlaut jedoch weis ich nicht warum oder wie ich dies löse

      Kommentar


      • #4
        CharsetEncoding... Entweder
        1. Deine Datei
        2. Dein Script
        3. die Datenbank
        4. die Datenbanktabelle
        5. die Datenbankspalte
        6. die Datenbankverbindung
        ist/sind nicht UTF8 ( ohne BOM ) kodiert.

        Bitte an alles denken: http://www.php-rocks.de/thema/98-die...schw-rung.html
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche Tutorials

        Kommentar


        • #5
          Danke für die Antwort und Hilfe.

          Habe das Problem jetzt mit Hilfe von dieser Query gelöst die ich am Anfang an die DB schicke

          PHP-Code:
            mysqli_query($db,"SET NAMES 'utf8'"); 
          Nun funktioniert es auch mit Umlauten.

          Kommentar


          • #6
            Zitat von Mike099 Beitrag anzeigen
            PHP-Code:
             mysqli_query($db,"SET NAMES 'utf8'"); 
            Sollte nicht verwendet werden. Nimm mysqli_set_charset().

            Kommentar


            • #7
              Zitat von hellbringer Beitrag anzeigen

              Sollte nicht verwendet werden. Nimm mysqli_set_charset().
              Funktioniert doch. Warum darf ich die Abfrage nicht verwenden bzw. einsetzen?

              Kommentar


              • #8
                1. Zum Debugging .. Einfach mal die DB(-Erweiterung) nach Fehler fragen: https://php-de.github.io/jumpto/sql/...ehler-ausgeben

                2.
                Warum darf ich die Abfrage nicht verwenden bzw. einsetzen?
                daher:

                https://php-de.github.io/jumpto/mysql-and-utf8/ (etwas unten im Text)
                somit: https://php-de.github.io/jumpto/utf-8/
                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


                • #9
                  Zitat von Mike099 Beitrag anzeigen
                  Funktioniert doch. Warum darf ich die Abfrage nicht verwenden bzw. einsetzen?
                  Weils im Handbuch steht:

                  This is the preferred way to change the charset. Using mysqli_query() to set it (such as SET NAMES utf is not recommended. See the MySQL character set concepts section for more information.

                  http://php.net/manual/de/mysqli.set-charset.php

                  Kommentar

                  Lädt...
                  X