Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens l'erreur « Essayer d'obtenir la propriété d'un non-objet » dans CodeIgniter ?
Comprendre l'erreur « Essayer d'obtenir la propriété d'un non-objet » dans CodeIgniter
Lorsque vous essayez de mettre à jour un enregistrement de base de données à l'aide de CodeIgniter, vous peut rencontrer l'erreur « Essayer d'obtenir la propriété d'un non-objet ». Ce problème survient lorsque vous tentez d'accéder aux propriétés d'un objet qui n'est pas une instance d'une classe.
Dans le contexte de votre edit_product_view, vous essayez de remplir un formulaire à l'aide de l'objet $product, qui est récupéré en fonction sur l'ID produit sélectionné. Cependant, vous accédez à ses propriétés en utilisant la notation objet ($product->prodname).
Résoudre le problème : notation objet ou tableau
CodeIgniter stocke les données récupérées sous forme de tableaux, pas d'objets. Par conséquent, vous devez utiliser la notation matricielle pour accéder aux éléments individuels du tableau $product, qui contient les valeurs de vos champs de formulaire.
Remplacez les lignes suivantes :
<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>
par :
<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>
Conseils supplémentaires
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!