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

使用CodeIgniter4无法从数据库获取记录,请求排查问题

CodeIgniter4 数据库查询失败排查方案

第一步:开启详细错误提示

默认的友好错误提示会隐藏真实问题,先切换到开发模式暴露具体错误:

  • 找到项目根目录的.env文件,将CI_ENVIRONMENT = production改为CI_ENVIRONMENT = development
  • 若没有.env,修改app/Config/Boot/production.php中的配置,强制开启调试模式

第二步:检查数据库连接配置

确认app/Config/Database.php或.env中的数据库参数是否正确:

  • 主机地址、数据库名、用户名、密码必须与实际数据库匹配
  • 端口号是否对应数据库服务(MySQL默认3306,PostgreSQL默认5432)

第三步:排查模型代码问题

给模型添加错误捕获,定位具体SQL问题:

public function getusers_data()
{
    try {
        $query = $this->db->query("SELECT * FROM registration");
        return $query->result_array();
    } catch (\Exception $e) {
        // 开发环境打印错误,上线后删除
        echo $e->getMessage();
        exit;
    }
}

同时确认:

  • 模型是否正确继承CodeIgniter的Model类(顶部需use CodeIgniter\Model;,类定义class UserModel extends Model)
  • registration表是否存在,表名拼写是否正确(部分数据库对大小写敏感)

第四步:控制器代码优化

增加查询结果的错误判断:

public function getusers1(){
    $userModel = new UserModel();
    $data['result'] = $userModel->getusers_data(); 
    if ($data['result'] === false) {
        echo "查询执行失败";
    } else {
        echo "<pre>";print_r($data['result']);
    }
 }

其他排查方向

  • 用数据库客户端(如Navicat)测试当前数据库用户是否有权限执行SELECT * FROM registration
  • 确认本地数据库服务(MySQL/MariaDB等)是否正常运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 15:03:15