2015-07-12 91 views
1

我试图创建一个简单的更新数据。我收到以下错误PHP的通知后:消息:试图让非对象的属性时,获取ID

遇到

一个PHP错误

严重性:注意

消息:试图让非对象的属性

文件名:belanja/ubah.php

行号:29

这是我的控制器

public function ubah($id){ 
     $data = array(); 
     $data['msg']   = $this->_get_flashdata(); 
     $data['category']  = $this->m_category->get(); 
     $data['notif']   = $this->m_property->count_properti(); 
     $data['notifikasi']  = $this->m_property->notif_properti(); 
     $data['rows']   = $this->m_property->getByID($id); 

     $html = array(); 
     $html['header']  = $this->load->view('admin/header',$data,true); 
     $html['kiri']  = $this->load->view('admin/kiri',null,true); 
     $html['content'] = $this->load->view('admin/belanja/ubah',$data,true); 
     $this->load->view('admin/template',$html); 
    } 

这是我的模型

public function getByID($id){ 
      $sql= "SELECT * FROM properti WHERE nID = '".$id."'"; 
      return $this->db->query($sql)->result(); 
     } 

这是我的看法

<div class="col-md-6"> 
          <h4 class="header green clearfix"> 
           Nama Properti 
          </h4> 
          <input class="form-control" type="text" name="nama" value="<?php echo $rows->nama ?>" /> 
         </div> 

我不明白为什么笨显示错误,当我不使用它的任何控制器或方法。那么如何解决我的代码?请

+0

你怎么能指望我们找到29行? –

+0

'<输入类= “形式控制” 类型= “文本” 名称= “NAMA” 值= “<?PHP回声$ rows-> NAMA?>”/>' –

+0

什么是'$ rows'变量?你没有显示它的代码。 ('$数据[ '行'] = $这个 - > m_property-> getByID($ ID);') – odedta

回答

0

检查线29码(我们不知道你的整个文件,因此,我们不能发现,某些行)。

但它可能是$this->m_category$this->m_property值为非object值或null。因此,你不能访问任何属性或方法->。这也可能发生在控制器,模型或视图中,请根据失败的报告文件进行检查。

可以的var_dump()的变量,以检查它的当前内容。如果你是从数据库加载它,确保它没有返回空集,或者你已经存储在一个对象,而不是一个阵列

0

我认为你是在阵列得到一些价值,并得到它作为对象。 我认为这是对你的视图文件

NAMA?> 与 NAMA取代它呢?>
0

在型号

public function getByID($id) 
    { 
    $query = $this->db->query("SELECT * FROM properti WHERE nID = '$id'"); 
    $result = $query->result_array(); 
    return $result; 
    } 
相关问题