【问题标题】:Codeigniter: Database driver is not currently loadedCodeigniter:当前未加载数据库驱动程序
【发布时间】:2018-12-20 17:53:24
【问题描述】:

我在带有 mysql 的 wampserver 3 中安装了 codeigniter 3,并配置了与数据库的连接,一切运行良好,模型有连接,查询正在返回数据,但是,当我使用探查器库时,特别是功能:

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

它返回给我以下内容:

我只想查看已运行但正在显示的查询:

当前未加载数据库驱动程序

关于如何解决这个问题的任何想法?就像探查器没有得到数据库已连接。 如果您需要更多信息,请向我询问,谢谢。

【问题讨论】:

  • 一件事是数据库配置好了。另一件事是,数据库库是在您运行探查器的控制器中加载的(通过自动加载或控制器中的特定调用)。如果它没有被加载到控制器(或自动加载)中,分析器将不会“看到”它
  • 是的,你是对的,我设置了 $autoload['libraries'] = array('database');在 autoload.php 中,但现在它在至少执行 1 时返回没有执行的查询,我做错了什么?
  • 我在 CI_Model 构造函数上建立了与数据库的连接,并将构造函数扩展到其他模型,因为我不想在控制器调用模型函数之前连接数据库,也许是这是问题所在?
  • 是的,这就是问题所在,如果您想让探查器正常工作,就必须在控制器中建立与数据库的连接...

标签: codeigniter codeigniter-3


【解决方案1】:

首先这在 autoload.php 中是完全必要的:

 $autoload['libraries'] = array('database');

作为注解,Codeigniter 不支持显示调用时运行的查询

$this->output->enable_profiler(true); // always check the difference between hyphen and underscore when calling functions

如果您在 CI_Model 或任何其他模型上加载数据库连接,如果想要查看运行的查询,则完全有必要通过控制器或主控制器加载数据库连接。

【讨论】:

    【解决方案2】:

    您必须在 config/autoload.php 中加载数据库库

    $autoload['libraries'] = array('database');
    

    希望此解决方案对您有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-02
      • 2011-07-06
      • 1970-01-01
      • 2012-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多