ホームページ >データベース >mysql チュートリアル >CodeIgniter 更新フォームの「非オブジェクトのプロパティを取得しようとしています」エラーを修正する方法

CodeIgniter 更新フォームの「非オブジェクトのプロパティを取得しようとしています」エラーを修正する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-25 05:50:02544ブラウズ

How to Fix the

CodeIgniter の「非オブジェクトのプロパティを取得しようとしています」エラーのトラブルシューティング

CodeIgniter で更新フォームにデータを入力しようとすると、恐ろしい「オブジェクト以外のプロパティを取得しようとしています」エラーが発生する可能性があります。非オブジェクトのプロパティを取得」エラー。この問題は、オブジェクト内に存在しないプロパティにアクセスしようとすると発生します。

このエラーを解決するには、正しい表記法を使用してデータ配列から値を取得していることを確認する必要があります。 CodeIgniter を使用すると、次の 2 つの方法で配列要素にアクセスできます。

  1. オブジェクト表記: $product->prodname
  2. 配列表記: $product['prodname']

あなたの場合、問題は set_values() 呼び出しにあります。配列表記 ($product['prodname'] など) ではなくオブジェクト表記 ($product->prodname など) を誤って使用しています。

修正コード:

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

配列の表記では角括弧が使用され、オブジェクトの表記では矢印記号が使用されることに注意してください。配列表記を使用すると、存在しないオブジェクトの属性を取得しようとするのではなく、$product 配列内の要素に直接アクセスできます。

以上がCodeIgniter 更新フォームの「非オブジェクトのプロパティを取得しようとしています」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。