You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CodeIgniter PHP展示数据库数据报错:未定义变量query求解决

解决CodeIgniter视图中“未定义变量query”的问题

这个「未定义变量query」的报错很典型,本质是你的视图在尝试使用一个控制器没传过来的变量,或者控制器里的变量根本没被正确赋值。我给你梳理下标准的CodeIgniter MVC实现流程,帮你解决这个问题:

1. 首先确保你有正确的模型(Model)

创建一个模型文件(比如application/models/Subuser_model.php),用来处理数据库查询:

<?php
class Subuser_model extends CI_Model {
    public function __construct() {
        parent::__construct();
        // 确保数据库连接已初始化
        $this->load->database();
    }

    // 获取所有子用户数据的方法
    public function get_all_subusers() {
        // 替换成你的实际表名,比如这里假设表名为`subusers`
        $query = $this->db->get('subusers');
        // 返回查询结果的对象数组
        return $query->result();
    }
}

2. 在控制器(Controller)中调用模型并传递数据到视图

修改你的控制器文件(比如application/controllers/Subuser.php),加载模型、获取数据,再把数据传给视图:

<?php
class Subuser extends CI_Controller {
    public function index() {
        // 加载刚才创建的模型
        $this->load->model('subuser_model');
        
        // 调用模型方法获取数据,赋值给$data数组的`query`键(对应视图里的变量名)
        $data['query'] = $this->subuser_model->get_all_subusers();
        
        // 加载你的视图文件,把$data数组传过去
        $this->load->view('your_view_file', $data);
    }
}

3. 修正你的视图代码(添加容错判断)

在视图里先判断变量是否存在且有数据,避免空数据时报错:

<tbody>
    <?php if(isset($query) && !empty($query)): ?>
        <?php foreach($query as $row): ?>
            <tr>
                <td><?php echo $row->subuid; ?></td>
                <td><?php echo $row->uid; ?></td>
                <td><?php echo $row->fname; ?></td>
                <!-- 其他字段继续在这里添加 -->
            </tr>
        <?php endforeach; ?>
    <?php else: ?>
        <tr>
            <td colspan="3" style="text-align:center;">暂无数据</td>
        </tr>
    <?php endif; ?>
</tbody>

常见排查要点

  • 确认你的数据库配置已经在application/config/database.php中正确设置,CodeIgniter能正常连接数据库
  • 在控制器中可以临时加var_dump($data['query']); exit;来查看是否真的获取到了数据
  • 如果控制器里用的是其他变量名(比如$data['subusers']),那视图里也要对应改成foreach($subusers as $row)
  • 确保模型里的表名和你数据库中的实际表名完全一致(注意大小写,部分数据库区分大小写)

内容的提问来源于stack exchange,提问作者user3397832

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:08:11