【问题标题】:Database connection settings with DB_DEBUG set as FALSEDB_DEBUG 设置为 FALSE 的数据库连接设置
【发布时间】:2012-09-01 21:47:40
【问题描述】:

我正在尝试连接到我的数据库,但收到以下消息:

无法使用提供的设置连接到您的数据库服务器。

文件名:core/Loader.php

行号:346

所以看了很多之后,我发现在数据库连接中将 $db['default']['db_debug'] 设置为 FALSE 可以解决问题。我这样做了,错误消息消失了;该网站的第一页也加载了,但它没有数据库调用。从那时起,我开始在数据库调用期间遇到错误,查询可能没有返回查询对象。

所以我想知道 DB_DEBUG 是否真的解决了问题连接,或者它只是掩盖了 DB 连接错误未显示的问题?

【问题讨论】:

  • 什么框架/库?看起来像代码点火器? codeigniter.com/user_guide/database/configuration.html 说 db_debug - TRUE/FALSE (boolean) - 是否应该显示数据库错误。 所以我会倾向于隐藏错误而不是修复它。跨度>
  • 是的,它是 codeigniter 框架
  • 至少 CI 2.0.3 那一行什么都没有,是什么版本?

标签: php database-connection codeigniter-2


【解决方案1】:

在 Application > Config > database.php 中设置

db['default'] = array(
                 ..,
                'db_debug' => FALSE,
                 ..)

【讨论】:

    【解决方案2】:

    请看这个,我在另一个问题中回答:

    我找到了原因。在我的情况下,数据库错误是因为我在 php.ini 中的 mysql 配置不正确。

    在 php.ini 中设置 mysql 配置后,CI 运行良好,如下所示:

    [Mysql]
    mysql.default_socket = /tmp/mysql.sock
    

    如果你没有配置php.ini,默认socket是/var/mysql/mysql.sock,请检查一下。

    我之前也将 $db['default']['db_debug] 设置为 FALSE,看起来没问题,但没有。它只是隐藏了mysql配置的错误,当我测试从mysql的表中读取时,我什么也没有,也不知道为什么什么也没有。于是我调试了一下,发现是因为我的mysql连接没有建立。 :(

    【讨论】:

      【解决方案3】:

      我建议您在调试模式下设置 $db['default']['db_debug'] = TRUE。

      在应用程序 > 配置 > database.php 设置

      $db['default']['hostname'] = 'localhost';
      $db['default']['username'] = '<ur username>'; // like 'root'
      $db['default']['password'] = ',ur pwd.'; // like ''
      $db['default']['database'] = '<db name>';
      

      在应用程序 > 配置 > autoload.php

      像加载数据库一样,

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

      【讨论】:

        猜你喜欢
        • 2013-05-31
        • 2015-02-26
        • 2016-01-05
        • 2012-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多