„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie behebe ich den Fehler „Versuch, eine Eigenschaft eines Nicht-Objekts abzurufen“ in PHP?

Wie behebe ich den Fehler „Versuch, eine Eigenschaft eines Nicht-Objekts abzurufen“ in PHP?

Veröffentlicht am 09.11.2024
Durchsuche:350

How to Fix the

Behebung des Fehlers „Versuche, die Eigenschaft eines Nichtobjekts abzurufen“ in PHP

Bei der Arbeit mit PHP kann der Fehler „Versuche wird“ auftreten Eigentum von Nicht-Objekten erlangen.“ Dieser Fehler tritt normalerweise auf, wenn versucht wird, auf Eigenschaften eines Objekts zuzugreifen, das nicht ordnungsgemäß initialisiert wurde oder null ist.

Im Fall des bereitgestellten Codes liegt das Problem im Abrufen der Seitenmenüdaten aus der Datenbank. Die Funktion mysql_fetch_object() gibt ein einzelnes Objekt zurück, kein Array von Objekten. Infolgedessen löst die Iteration durch die Variable $sidemenus auf der Ansichtsseite den Fehler aus.

Um dieses Problem zu beheben, ändern Sie den Code auf der Steuerseite wie folgt:

$results = mysql_query("SELECT * FROM sidemenu WHERE `menu_id`='".$menu."' ORDER BY `id` ASC LIMIT 1", $con);

$sidemenus = array();
while ($sidemenu = mysql_fetch_object($results)) {
    $sidemenus[] = $sidemenu;
}

Dieser Code konvertiert das einzelne von mysql_fetch_object() zurückgegebene Objekt in ein Array von Objekten. Die Ansichtsseite kann dann das Array durchlaufen, ohne dass der Eigenschaftsfehler auftritt.

Eine andere Alternative ist die Verwendung von PDO, das eine modernere und sicherere Schnittstelle für Datenbankinteraktionen bietet. Die Methode PDOStatement::fetchAll(PDO::FETCH_OBJ) kann verwendet werden, um ein Array von Objekten aus einer Datenbankabfrage abzurufen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3