Codeigniter数据库错误,不允许我访问我的网站

时间:2016-08-07 06:09:04

标签: php

这是我的databse.php文件。我无法使用此连接设置连接到数据库。请帮我调试这个错误。 谢谢。

显示的错误是: 发生数据库错误 无法使用提供的设置连接到数据库服务器。

文件名:C:\ xampp \ htdocs \ Test \ system \ database \ DB_driver.php

行号:125

$db['default']['hostname'] = 'localhost';
    $db['default']['username'] = 'root';
    $db['default']['password'] = '';
    $db['default']['database'] = '******';
    $db['default']['dbdriver'] = 'mysql';
    $db['default']['dbprefix'] = '';
    $db['default']['pconnect'] = FALSE;
    $db['default']['db_debug'] = TRUE;
    $db['default']['cache_on'] = FALSE;
    $db['default']['cachedir'] = '';
    $db['default']['char_set'] = 'utf8';
    $db['default']['dbcollat'] = 'utf8_general_ci';
    $db['default']['swap_pre'] = '';
    $db['default']['autoinit'] = TRUE;
    $db['default']['stricton'] = FALSE;

    $db['online']['hostname'] = 'localhost';
    $db['online']['username'] = '******';
    //$db['online']['username'] = '******';
    $db['online']['password'] = '******';
    $db['online']['database'] = '******';
    //$db['online']['database'] = '******';
    $db['online']['dbdriver'] = 'mysql';
    $db['online']['dbprefix'] = '';
    $db['online']['pconnect'] = FALSE;
    $db['online']['db_debug'] = TRUE;
    $db['online']['cache_on'] = FALSE;
    $db['online']['cachedir'] = '';
    $db['online']['char_set'] = 'utf8';
    $db['online']['dbcollat'] = 'utf8_general_ci';
    $db['online']['swap_pre'] = '';
    $db['online']['autoinit'] = TRUE;
    $db['online']['stricton'] = FALSE;

1 个答案:

答案 0 :(得分:0)

您的默认数据库似乎在使用没有密码的root用户。这不太可能是您的默认数据库的真实凭据,因此我认为它们是错误的,导致该问题(默认情况下会加载default,因为它是默认的活动组)。

假设您希望online成为您的活动数据库而不是默认default,您还应该设置以下变量(也在application/config/database.php文件中):

$active_group = 'online';

只需删除default群组(或者甚至使用online的值进行更新,如果您想避免设置online变量,请移除$active_group群组)。

根据评论,似乎default是要使用的数据库,它包含预期的凭据。在这种情况下,online不会自动初始化,因为它包含不正确的凭据,导致问题中显示错误。要禁用online autoinit,请将其设置为FALSE:

$db['online']['autoinit'] = FALSE;

或者只是评论该行。

另请注意,在这种情况下,$active_group不得设置,如果是,则应设置为:

$active_group = 'default';