CodeIgniter で更新フォームにデータを入力しようとすると、恐ろしい「オブジェクト以外のプロパティを取得しようとしています」エラーが発生する可能性があります。非オブジェクトのプロパティを取得」エラー。この問題は、オブジェクト内に存在しないプロパティにアクセスしようとすると発生します。
このエラーを解決するには、正しい表記法を使用してデータ配列から値を取得していることを確認する必要があります。 CodeIgniter を使用すると、次の 2 つの方法で配列要素にアクセスできます。
あなたの場合、問題は 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 サイトの他の関連記事を参照してください。