了解CodeIgniter 中的「嘗試取得非物件的屬性」錯誤
嘗試使用CodeIgniter 更新資料庫時,您可能會遇到記錄“嘗試取得非物件的屬性”錯誤。當嘗試存取不是類別實例的物件的屬性時,會出現此問題。
在 edit_product_view 的上下文中,您嘗試使用 $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>
其他提示
以上是為什麼我在 CodeIgniter 中收到「嘗試取得非物件的屬性」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!