Maison >base de données >tutoriel mysql >Comment corriger l'erreur « Essayer d'obtenir la propriété d'un non-objet » dans les formulaires de mise à jour CodeIgniter ?

Comment corriger l'erreur « Essayer d'obtenir la propriété d'un non-objet » dans les formulaires de mise à jour CodeIgniter ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-25 05:50:02467parcourir

How to Fix the

Dépannage de l'erreur « Essayer d'obtenir la propriété d'un non-objet » dans CodeIgniter

Lorsque vous essayez de remplir un formulaire de mise à jour dans CodeIgniter, vous pouvez rencontrer le redoutable « Essayer de obtenir la propriété du non-objet". Ce problème survient lorsque vous essayez d'accéder à des propriétés inexistantes dans un objet.

Pour résoudre cette erreur, vous devez vous assurer que vous utilisez la notation correcte pour récupérer les valeurs de votre tableau de données. CodeIgniter vous permet d'accéder aux éléments du tableau de deux manières :

  1. Notation d'objet : $product->prodname
  2. Notation de tableau : $product['prodname']

Dans votre cas, le problème réside dans vos appels set_values(). Vous utilisez incorrectement la notation d'objet (par exemple, $product->prodname) au lieu de la notation de tableau (par exemple, $product['prodname']).

Code corrigé :

<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>

N'oubliez pas que la notation matricielle utilise des crochets, tandis que la notation objet utilise le symbole de flèche. En utilisant la notation matricielle, vous accédez directement aux éléments du tableau $product plutôt que d'essayer de récupérer les attributs d'un objet inexistant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn