ホームページ  >  記事  >  データベース  >  CodeIgniter で「非オブジェクトのプロパティを取得しようとしています」エラーが発生するのはなぜですか?

CodeIgniter で「非オブジェクトのプロパティを取得しようとしています」エラーが発生するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-24 18:40:47619ブラウズ

Why Am I Getting the

CodeIgniter の「非オブジェクトのプロパティを取得しようとしています」エラーについて理解する

CodeIgniter を使用してデータベース レコードを更新しようとすると、 「非オブジェクトのプロパティを取得しようとしています」エラーが発生する場合があります。この問題は、クラスのインスタンスではないオブジェクトのプロパティにアクセスしようとすると発生します。

edit_product_view のコンテキストで、$product オブジェクトを使用してフォームにデータを入力しようとしています。$product オブジェクトは、以下に基づいて取得されます。選択した製品 ID に応じて。ただし、オブジェクト表記 ($product->prodname) を使用してそのプロパティにアクセスしています。

問題の解決: オブジェクト表記と配列表記

CodeIgniter は取得したデータを保存しますオブジェクトではなく配列として。したがって、フォーム フィールドの値が含まれる $product 配列の個々の要素にアクセスするには、配列表記を使用する必要があります。

次の行を

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

で置き換えます。

<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 配列に正しいキーと値のペアが含まれていることを確認してください。
  • それでもエラーが発生する場合$product 変数がビューに適切に渡されていることを確認してください。
  • print_r を使用して $product 配列の内容を検査し、予想されるデータが含まれていることを確認することを検討してください。

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

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