大家好,我的问题是我的信息没有发送到我的视图文件。
它说:消息:未定义的变量:queryWall
我的控制器就是这个
function wallShow()
{
$this->load->model('profil_model');
$data['queryWall'] = $this->profil_model->wallGet($this->uri->segment(3));
$data['content'] = 'profil_view';
$this->load->view('includes/template', $data);
}
我的模特:
function wallGet($name)
{
$this->db->select('profileName', 'wallComment');
$this->db->where('profileName', $name);
$queryWall = $this->db->get('profileWall');
if($queryWall->num_rows() > 0)
{
return $queryWall->result();
} else {
return false;
}
}
和我的观看文件
<?php
if(!isset($queryWall)):
foreach ($queryWall as $wall):
echo $wall->wallComment;
endforeach;
endif;
?>
答案 0 :(得分:4)
即使一切正常,您仍会收到此错误,因为只要 NOT 定义,您就会使用queryWall
变量!
if(!isset($queryWall))
应该是:
if(isset($queryWall))
但是由于您通过了条件检查,我认为您的模型或URI段有问题。
答案 1 :(得分:3)
您没有使用
的正确语法$this->db->select('profileName', 'wallComment');
将其调整为:
$this->db->select('profileName,wallComment');
然后还启用out profiler来验证数据库类是否正确编写了查询。在控制器中,启用探查器:
$this->output->enable_profiler(true);
这可以插入控制器功能的任何位置。
我同意ifaour关于确保你的if语句是你的意思。