我的链接以index.php / welcome / item / 1
结尾我的控制器welcome.php包含功能项
public function item($id)
{
$data = array();
$this->load->helper('url');
$data['title'] = "item";
$this->load->view('header', $data);
$data['item']=$this->port_model->get_item($id);
$this->load->view('item',$data);
$this->load->view('footer');
}
和我的模型使用get_item函数
public function get_item($id)
{
$this->db->select('*');
$this->db->from('portfolio');
$this->db->where('id', $id);
$query = $this->db->get();
return $item = $query->result();
}
在我的项目视图中,我希望从数据库中回显信息。为什么现在不这样做
<h1>item</h1>
<?php echo $item->naam; ?>
我在页面上出错: 遇到PHP错误
严重性:注意
消息:尝试获取非对象的属性
文件名:views / item.php
行号:2
页面加载正常,没问题。 我做错了什么?
答案 0 :(得分:1)
由于您期望获得一个结果,因此您的get_item函数应该
return $query->row();
答案 1 :(得分:0)
替换您的get_item
函数:
<强>结果()强>
此函数将查询结果作为对象数组返回,或者 失败的空数组。
return $item = $query->result();
像这样:
<强>行()强>
此函数返回单个结果行。如果您的查询超过 一行,它只返回第一行。结果返回为 对象
return $item = $query->row();
答案 2 :(得分:0)
您需要调用库数据库($this->load->database();
)和模型($this->load->model('port_model');
):
结果:
<code>public function item($id)
{
$data = array();
$this->load->helper('url');
$data['title'] = "item";
$this->load->view('header', $data);
$this->load->database();
$this->load->model('port_model');
$data['item']=$this->port_model->get_item($id);
$this->load->view('item',$data);
$this->load->view('footer');
}</code>