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

CodeIgniter中获取用户列表返回空数组问题排查

问题分析与解决方案

首先看你的模型代码,发现一个非常关键的错误:构造函数的名字拼写错误!

你的模型里写的是:

public function _consruct(){
    parent::_construct();
}

正确的PHP构造函数应该是双下划线开头和结尾:__construct(),修正后代码如下:

public function __construct(){
    parent::__construct();
}

这个错误会导致CodeIgniter父类的构造函数没有被正确调用,数据库连接无法初始化。虽然查询构建器能生成正确的SQL语句(所以last_query()能输出正确内容),但实际上并没有真正执行数据库查询,自然返回空数组。

修复这个拼写错误后,再测试getData()方法,应该就能得到预期的用户列表了。

其他可能的排查方向(如果修复构造函数后仍有问题)

  • 核对数据库配置:确认application/config/database.php里的数据库名称、用户名、密码是否和你在phpMyAdmin中使用的完全一致,避免连接到错误的数据库。
  • 开启数据库调试:在database.php中设置$db['default']['db_debug'] = TRUE;,如果查询过程中有错误(比如表不存在、权限不足),会直接显示错误信息,快速定位问题。
  • 清除查询缓存:如果之前使用过查询缓存,可能干扰当前查询,可以在getData()方法开头添加$this->db->flush_cache();清除缓存后再执行查询。
  • 检查表名前缀:如果你的CodeIgniter配置了数据库表前缀($db['default']['prefix']),模型中的表名需要加上前缀,比如前缀是ci_,则应写成ci_users、ci_users_groups,否则会找不到对应数据表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:18:30