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

CodeIgniter4出现Call to a member function getResultArray() on bool错误怎么解决

报错解决方案

这个错误的核心原因是$builder->get()执行SQL查询失败返回了布尔值false,你后续对false调用getResultArray()方法就会触发报错。本地运行正常、线上报错均为两个环境的数据库配置/权限/表结构差异导致,按以下步骤排查即可:

  • 第一步:修正冗余的数据库连接代码
    你代码中重复写了两次数据库连接逻辑\Config\Database::connect()和db_connect(),先删除其中一个保留单个连接即可,避免不同连接的配置冲突。
  • 第二步:核对线上数据库配置
    确认线上的数据库连接参数(host、端口、库名、账号、密码、表前缀)和本地完全一致,同时确认该数据库账号拥有t_prestamo、t_clientes两个表的查询权限。
  • 第三步:核对表结构与字段
    确认线上数据库中存在t_prestamo、t_clientes两张表,且关联字段匹配:t_prestamo表存在fk_idcliente字段、t_clientes表存在id_cliente字段,两个字段的类型、长度完全一致。
  • 第四步:增加错误调试逻辑定位具体问题
    你可以修改代码增加查询失败的判断,输出具体的数据库错误信息:
public function obt_lista_prestamos($activo){    
    $db = db_connect();
    $builder = $db->table('t_prestamo');
    $builder->select('*');
    $builder->join('t_clientes', 't_prestamo.fk_idcliente = t_clientes.id_cliente');
    $query = $builder->get();
    // 新增查询失败判断
    if (!$query) {
        // 输出具体数据库错误,调试完成后请删除该行输出
        var_dump($db->error());
        return [];
    }
    return $query->getResultArray();
}

输出的错误信息会直接告诉你问题根源(表不存在、字段不存在、权限不足等),对应修正即可恢复正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:06:07