首頁 >資料庫 >mysql教程 >為什麼我在 CodeIgniter 中收到「嘗試取得非物件的屬性」錯誤?

為什麼我在 CodeIgniter 中收到「嘗試取得非物件的屬性」錯誤?

Susan Sarandon
Susan Sarandon原創
2024-10-24 18:40:47711瀏覽

Why Am I Getting the

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

其他提示

  • 其他提示
  • 確保您
確保您確保您確保您確保您的$product 陣列包含正確的鍵值對。 如果您仍然遇到錯誤,請檢查是否已將 $product 變數正確傳遞到視圖。 考慮使用 print_r 檢查 $product 陣列的內容,以驗證它是否包含預期的資料。

以上是為什麼我在 CodeIgniter 中收到「嘗試取得非物件的屬性」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn