了解 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中文网其他相关文章!