Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich in CodeIgniter den Fehler „Versuch, die Eigenschaft eines Nichtobjekts abzurufen'?

Warum erhalte ich in CodeIgniter den Fehler „Versuch, die Eigenschaft eines Nichtobjekts abzurufen'?

Susan Sarandon
Susan SarandonOriginal
2024-10-24 18:40:47710Durchsuche

Why Am I Getting the

Verstehen des Fehlers „Versuch, eine Eigenschaft eines Nichtobjekts abzurufen“ in CodeIgniter

Beim Versuch, einen Datenbankeintrag mit CodeIgniter zu aktualisieren, müssen Sie Möglicherweise tritt der Fehler „Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen“ auf. Dieses Problem tritt auf, wenn versucht wird, auf Eigenschaften eines Objekts zuzugreifen, das keine Instanz einer Klasse ist.

Im Kontext Ihrer edit_product_view versuchen Sie, ein Formular mithilfe des $product-Objekts zu füllen, das basierend abgerufen wird abhängig von der ausgewählten Produkt-ID. Sie greifen jedoch über die Objektnotation ($product->prodname) auf seine Eigenschaften zu.

Lösung des Problems: Objekt- vs. Array-Notation

CodeIgniter speichert abgerufene Daten als Arrays, nicht als Objekte. Daher sollten Sie die Array-Notation verwenden, um auf einzelne Elemente des $product-Arrays zuzugreifen, das die Werte für Ihre Formularfelder enthält.

Ersetzen Sie die folgenden Zeilen:

<code class="php"><?php echo form_input('prodname', set_value('prodname', $product->prodname)); ?>
<?php echo form_dropdown('ptname_fk', $product_types, set_value('ptname_fk', $product->ptname_fk)); ?></code>

durch:

<code class="php"><?php echo form_input('prodname', set_value('prodname', $product['prodname'])); ?>
<?php echo form_dropdown('ptname_fk', $product_types, set_value('ptname_fk', $product['ptname_fk'])); ?></code>

Zusätzliche Tipps

  • Stellen Sie sicher, dass Ihr $product-Array die richtigen Schlüssel-Wert-Paare enthält.
  • Wenn der Fehler weiterhin auftritt , überprüfen Sie, ob Sie die Variable $product ordnungsgemäß an Ihre Ansicht übergeben haben.
  • Erwägen Sie die Verwendung von print_r, um den Inhalt Ihres $product-Arrays zu überprüfen und sicherzustellen, dass es die erwarteten Daten enthält.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in CodeIgniter den Fehler „Versuch, die Eigenschaft eines Nichtobjekts abzurufen'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn