Versuch, auf Eigenschaften eines Nicht-Objekts zuzugreifen: Behoben
MySQL-Abfragen geben oft mehrere Zeilen zurück. Um diese Zeilen zu durchlaufen, können wir eine Schleife mit mysql_fetch_object() verwenden, um jede Zeile als Objekt abzurufen. Allerdings tritt der Fehler „Es wird versucht, eine Eigenschaft eines Nicht-Objekts abzurufen“ auf, wenn wir versuchen, auf Eigenschaften eines nicht vorhandenen Objekts zuzugreifen. Dieser Fehler weist darauf hin, dass das Abfrageergebnis leer ist.
Um dieses Problem zu beheben, können wir prüfen, ob das Abfrageergebnis vorhanden ist. Hier ist der korrigierte Code:
Kontrollseite:
<?php include 'pages/db.php'; $results = mysql_query("SELECT * FROM sidemenu WHERE `menu_id`='{$menu}' ORDER BY `id` ASC LIMIT 1", $con); // Check if the query result exists if ($results) { $sidemenus = mysql_fetch_object($results); } ?>
Seite anzeigen:
<?php if ($sidemenus) { foreach ($sidemenus as $sidemenu): ?> <?php echo $sidemenu->mname."<br />"; ?> <?php endforeach; } ?>
Alternativ Sie Sie können PDO mit PDOStatement::fetchAll(PDO::FETCH_OBJ) verwenden, um automatisch ein Objektarray von Ihrem abzurufen Abfrage.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Zugriff auf MySQL-Abfrageergebnisse die Fehlermeldung „Es wird versucht, die Eigenschaft eines Nichtobjekts abzurufen'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!