Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] mysql_fetch_object - Trying to get property of non-object

Einklappen

Neue Werbung 2019

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

  • [Erledigt] mysql_fetch_object - Trying to get property of non-object

    Hallo zusammen,

    ich quäle mich jetzt schon seit Tagen mit der Warnung: "Trying to get property of non-object in E:\xampp\htdocs\ ... line 342", im Forum habe ich keine passende Antwort gefunden und auch Google hat nicht weitergeholfen.

    PHP-Code:
    $abfrage "SELECT userid FROM logininfo WHERE userid LIKE '$userid'";
    $ergebnis mysql_query($abfrage);
    $row mysql_fetch_object($ergebnis);

    if(
    $row->passwort == $passwort)
    ..... 
    Ich benutze eigentlich den selben Code den ich immer bei Abfragen genutzt habe aber es ist auch schon ein Jährchen her als ich das letzte mal programmieren musste.
    Ich habe aber zumindest durch mein Suchen erfahren, dass einige sql-befehle bald nicht mehr von PHP unterstützt werden und besser sqli genutzt werden soll. Das habe ich dann auch probiert aber die Meldung blieb die gleiche.

    Es geht bei dem Script im übrigen um ein simples Loginscript welches überprüfen soll ob ein Nutzer bereits registriert wurde oder nicht.
    Die Warnung kommt dann nur wenn die SQL-Abfrage keine Ergebnisse liefert. Ich habe daher gedacht ich zähle "einfach" die ausgegebenen Zeilen und wenn keine Zeile vorhanden ist, dann soll er mir keinen Wert aus der leeren Tabelle auslesen.
    Folgendes Prinzip habe ich dann probiert:
    PHP-Code:
     $num mysql_num_rows($abfrage);

        if( 
    $num != ) {
            
    printf('%s Datensätze selektiert.'$num);
        }
        else {
            echo 
    'Kein Datensatz selektiert.';
        } 
    Dann bekomme ich aber folgende Warnung:
    Warning: mysql_num_rows() expects parameter 1 to be resource
    Ich hoffe ihr habt eine Lösung für mich parat. Danke schon mal fürs Lesen.


  • #2
    Ja, vermutlich ist deine query falsch und daher hast du keine Resource sondern es wird false zurückgegeben. Frage mal mysql_ nach Fehler ab, _error() _errno() und wie sie alle heissen.

    http://php-de.github.io/jumpto/sql/

    Und mysql_ ist veraltet, das wird bald nicht mehr funktionieren, weil es aus PHP rausfällt.

    http://php-de.github.io/jumpto/faq/#deprecated-mysql (ganz unten)

    LG
    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


    • #3
      In $abfrage steht der Query-String. Du meinst wahrscheinlich $ergebnis.

      Kommentar


      • #4
        Vielen Dank für eure schnelle Hilfe.
        @hausl: Die SQL-Abfrage ist richtig nur in dem bestimmten Fall ist das Ergebnis leer. Aber anscheinend soll man immer eine Warnung bekommen, wenn man dann versucht eine Zeile zu lesen. Mit Hilfe von
        PHP-Code:
        error_reporting(0); 
        blende ich einfach die Warnungen aus.
        Und vielen Dank für die Links ich versuche in Zukunft mysqli zu nutzen.

        @mermshaus
        Das war natürlich ein dummer Fehler von mir. So funktioniert es.

        Kommentar


        • #5
          Zum Entwickeln solltest du immer alles voll aufrdehen, und Meldungen die da kommen programmiertechnisch sauber auflösen und nicht unterdrücken.

          PHP-Code:
          error_reporting(-1); 
          LG
          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