Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQLi - Überprüfung ob Eintrag existiert immer falsch

Einklappen

Neue Werbung 2019

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

  • MySQLi - Überprüfung ob Eintrag existiert immer falsch

    Hallo,
    Ich bin grade dabei ein bisschen mit MySQL und PHP rum zu probieren, doch es gelingt mir nicht so ganz. Ich habe hier eine MySQL abfrage:
    PHP-Code:
            public static function isKeyExisting($conn$key){
                
    $sql "SELECT * FROM KeyCache WHERE VERIFY_KEY = $key";
                echo(
    $sql);
                
    $result $conn->query($sql);
                if(
    $result->num_rows 0) {
                    return 
    true;
                }
                return 
    false;
            } 
    Ich übergebe hier einmal die Datenbank Connection und ein Key, welcher überprüft werden soll, ob dieser in der Datenbank ist, doch die Methode gibt immer False zurück.
    Beispiel:
    Ich über gebe als Key TM3BNPH4NH
    und wie ihr sieht:
    http://i.imgur.com/2COHOun.png
    der Key ist in der Datenbank, jedoch gibt er trotzdem False zurück.

  • #2
    Mich wundert eher, dass das nicht mit einen fatal error aussteigt ...

    Kommentar


    • #3
      Habs jetzt selbst gelöst. Hab jetzt nicht WHERE verwendet sondern mir einfach alle Reihen geholt und dann mit if überprüft.
      Mich würde trotzdem interessieren warum es mit einem Fatal Error austeigen soll?

      Kommentar


      • #4
        \facepalm

        anstatt die Ursache zu suchen ...

        Kommentar


        • #5
          Ich hab grade vieles versucht. Ich sitzte da jetzt schon seit 3 Stunden dran und komme nicht weiter, und ich bin ein Anfänger in PHP (Ich kann Java und C#) aber es funktioniert einfach nicht mit WHERE in Java funktioniert es genau so, naja php ist nicht java. Aber ich möchte jetzt nicht meine ganze Zeit daran vergolden. Ich will ja auch weiter kommen...

          Kommentar


          • #6
            Dann setz mal in die erste Zeile:
            PHP-Code:
            mysqli_report(MYSQLI_REPORT_STRICT); 

            Kommentar


            • #7
              Zitat von DasDarki Beitrag anzeigen
              in Java funktioniert es genau so
              Das bezweifle ich.

              Zitat von DasDarki Beitrag anzeigen
              naja php ist nicht java.
              Das hat nichts mit PHP oder Java zu tun, wenn du fehlerhafte SQL-Abfragen schreibst.

              SELECT * ist übrigens böse. Auch egal ob in PHP oder Java. Wenn du die Anzahl der Datensätze haben möchtest, verwende COUNT(*).

              Zitat von DasDarki Beitrag anzeigen
              Aber ich möchte jetzt nicht meine ganze Zeit daran vergolden. Ich will ja auch weiter kommen...
              query() liefert im Fehlerfall FALSE. Sowas solltest du nicht ignorieren.

              Kommentar


              • #8
                Ich glaube eher das du quotes (') in der Query vergessen hast und eine vernünftige Eingabeprüfung der Daten ($conn->real_escape_string())

                Kommentar


                • #9
                  Zitat von munzili Beitrag anzeigen
                  Ich glaube eher das du quotes (') in der Query vergessen hast und eine vernünftige Eingabeprüfung der Daten ($conn->real_escape_string())
                  real_escape_string hat nicht mit einer Prüfung zu tun sondern dient lediglich der Maskierung.

                  Kommentar


                  • #10
                    Zitat von Messier 1001 Beitrag anzeigen

                    real_escape_string hat nicht mit einer Prüfung zu tun sondern dient lediglich der Maskierung.
                    Schon klar, geht mir eher drum das er keine quotes hat und diese dann noch escaped. Vielleicht falsch ausgedrückt

                    Kommentar

                    Lädt...
                    X