Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!

Jetzt kostenlos registrieren

Notice: Trying to get property of non-object

Fragen zum Thema PHP können hier gestellt werden

Moderatoren: Basti, Guillermo, Andreas W.

Notice: Trying to get property of non-object

Beitragvon Griefshire am 10.01.2012, 12:13

Moin, hab ma wieder ein MySQL Problem. Und zwar versuch ich grad eine Art Navigation für meine News zu schreiben. Das Problem ist jetzt halt, das er mir eine Notiz rausspukt, sobald die ID 0 oder leer ist. Hab scho versucht das ganze mittels einer isset abfrage zu umgehen, aber anscheinend scheint ihn das nicht viel zu interessieren. Und ich möchte jetzt auch net den Errror Report runter schrauben, das problem bleibt ja weiterhin bestehen.

Der Fehler ist in Zeile 15, also dort wo die if abfragen beginnen.

Also hier ist der ganze Code :
Code: Alles auswählen
<?php

include('lang/de/guest/home.php');

if(isset($_GET["id"])) { $id = $_GET["id"]; } else { $id = ''; }

$news_id_select = "select id from news where id like '$id'";
$news_id_query = mysql_query($news_id_select);
if(isset($news_id_query)) { $news_id = mysql_fetch_object($news_id_query); } else { $news_id = ""; }

$TEMPLATE = new AMC_template("template/guest/index_start.tpl", __FILE__, __LINE__);
$TEMPLATE -> AMC_tpl_assign($lang_home);
$TEMPLATE -> AMC_tpl_print();

if ($news_id->id == 0 OR $news_id->id == '')
   {
      echo "Test 1";
   }
   else
   {
      if ($news_id->id == 1)
         {
           echo "Test 2";
        }
        else
        {
           echo "Test 3";
        }
   }


$TEMPLATE = new AMC_template("template/guest/index_end.tpl", __FILE__, __LINE__);
$TEMPLATE -> AMC_tpl_print();
?>
Griefshire
Mitglied
 
Beiträge: 28
Registriert: 30.11.2011, 14:11
Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!
 
Jetzt kostenlos registrieren

Re: Notice: Trying to get property of non-object

Beitragvon Guillermo am 10.01.2012, 17:31

Hi Griefshire,

kannst du uns auch noch die Fehlermeldung zeigen?

Ich vermute mal dass deine Fehlerabfrage falsch ist, Wenn oben der else-Zweig ausgefuehrt wird ist $news_id ein leerer String. Unten pruefst du aber auf ein element "id" des Objekts $news_id, obwohl es das garnicht gibt. Besser waere folgende Ueberpruefung:
Code: Alles auswählen
if($news_id == "") {
    echo "Test 1";
} else {
    if($news_id->id == 0) {
        echo "Test 1";
    } else if($news_id->id == 1) {
        echo "Test 2";
    } else if($news_id == 2) {
        echo "Test 3";
    }
}


Den Aufruf der isset-Funktion kannst du dir sparen :)
Code: Alles auswählen
...
if($news_id_query) { ... }
...


Viele Gruesse,
Guillermo
Gebildet ist der, der weiß, wo er findet, was er nicht weiß.
Benutzeravatar
Guillermo
Moderator
 
Beiträge: 1093
Registriert: 01.10.2007, 18:18
Wohnort: Bayern


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste