codeigniter 不会显示来自数据库的信息

Posted

技术标签:

【中文标题】codeigniter 不会显示来自数据库的信息【英文标题】:codeigniter will not show info from database 【发布时间】:2011-01-22 18:58:08 【问题描述】:

大家好,我有一个问题,我的信息没有发送到我的视图文件。

它说:消息:未定义的变量: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;
 ?>

【问题讨论】:

尝试在您的模型方法中打印出您的查询结果...尝试 $queryWall-&gt;result() 在 wallGet($name) 函数中,看看是否是否选择了任何数据 好吧,我尝试回显它,但我只得到了 Array ,所以里面什么都没有:S,我试过这个 $this->db->where('profileName', ' 123');我知道数据库中有一些东西:S 我假设,在您的模板视图中,您正在调用一个名为“profile-view”的子视图。您是否将 $data 或 $queryWall 传递给该子视图?也许您可以将模板视图的这一部分添加到您的问题中,以便我们提供更好的帮助。 【参考方案1】:

即使一切正常,您仍会收到此错误,因为您使用的是 queryWall 变量,只要它定义!

if(!isset($queryWall))

应该是:

if(isset($queryWall))

但是由于您通过了条件检查,那么我想您的模型或 URI 段有问题。

【讨论】:

【参考方案2】:

你没有使用正确的语法

$this->db->select('profileName', 'wallComment');

将其调整为:

$this->db->select('profileName,wallComment');

然后还启用 out profiler 以验证您的查询是否由数据库类正确编写。在您的控制器中,启用分析器:

$this->output->enable_profiler(true); 

这可以插入到控制器函数的任何地方。

我同意 ifaour 关于确保你的 if 语句是你的意思。

【讨论】:

+1 用于在他的代码中捕获 2nd 错误!所以基本上我的回答和你的回答应该可以解决他的问题。 我如何需要 $this->output->enable_profiler(true);,我已经做出了改变,但它仍然没有显示任何东西:S 阅读输出类的文档以获得对分析器的完整说明,以及如何使用它。 codeigniter.com/user_guide/libraries/output.html。探查器报告中的查询是什么样的? 没什么变化,它仍然显示未定义变量:queryWall :S 查看我对上述问题的评论

以上是关于codeigniter 不会显示来自数据库的信息的主要内容,如果未能解决你的问题,请参考以下文章

如何在codeigniter中查看基于链接ID的所有数据

图像不显示从数据库 Codeigniter 4

Codeigniter路由:如何在url中显示名称而不是id号

来自 Post 数据的 CodeIgniter 未通过

带有 Codeigniter MYSQL 查询的数据表

Codeigniter:显示来自活动记录的SQL查询