如何解决尝试在Codeigniter框架中获取非对象属性的问题

时间:2018-12-04 05:57:44

标签: php codeigniter

我正在尝试获取最后插入的金额要显示在文本框中。 控制器代码:

    $this->db->select('amount');
    $this->db->order_by("recno", "desc");
    $this->db->limit(1);
    $query = $this->db->get('daybook');
    $data['r']=$query->result_array(); 

查看代码:

<input type="text" placeholder="Credit" name="amount1" id="TDAmt" class="form-control input-xs sum2" value="<?php echo $r->amount; ?>"  >

我遇到以下错误

    Message: Undefined variable: r
    Message: Trying to get property of non-object

我该如何解决..帮助我实现这一目标..

2 个答案:

答案 0 :(得分:1)

您的错误消息是说Message: Trying to get property of non-object。您还调用了$data['r']=$query->result_array();,所以它不是一个对象,它是一个关联数组。由于它不是对象,而是关联数组,因此不能使用->运算符。您需要访问$r['amount']之类的值。

您还可以在模板文件中进行值检查。像这样<?php echo isset($r) ? $r['amount'] : ''; ?>

在模板中打印之前,您也可以var_dump

我认为它将为您提供帮助。谢谢。

答案 1 :(得分:1)

如果结果只有一个,则可以使用'row_array'代替'result_array'。 如果使用数组,则可以通过 $ r ['amount'] 访问该值 如果它是结果数组,则可以通过 $ r [0] ['amount']

访问该值