首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MX/loader.php行99上的Codeigniter数据库错误

MX/loader.php行99上的Codeigniter数据库错误
EN

Stack Overflow用户
提问于 2016-02-26 18:06:47
回答 2查看 9.4K关注 0票数 1

我最近复制了一个codeigniter网站到一个带有新数据库的新域,起初编码设置为旧的数据库,因为它是一个直接的副本,一切都运行得很好。我创建了一个新的数据库,并从旧的导入了所有的表,然后在配置数据库文件中更改了所有的数据库细节。我确信所有细节都是正确的,并且我已经将我的新用户设置为所有权限。但是现在我的网站失败了,出现了以下错误:

代码语言:javascript
复制
  Unable to connect to your database server using the provided settings.

Filename: root/third_party/MX/Loader.php

Line Number: 99

在我的MX/Loader.php文件中如下所示

/**加载数据库驱动程序**/

代码语言:javascript
复制
public function database($params = '', $return = FALSE, $active_record = NULL) {

    if (class_exists('CI_DB', FALSE) AND $return == FALSE AND $active_record == NULL AND isset(CI::$APP->db) AND is_object(CI::$APP->db)) 
        return;

    require_once BASEPATH.'database/DB'.EXT;

    if ($return === TRUE) return DB($params, $active_record);

    **CI::$APP->db = DB($params, $active_record);**

    return CI::$APP->db;
}

第99行突出显示,每一端都带有**。我找不出问题出在哪里,我已经搜索了可能的文件,但没有找到指向旧数据库或看起来需要指向新数据库的内容。非常感谢您的帮助!干杯。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-26 18:10:06

config folder中打开database.php并在最后粘贴以下代码,然后首先调试您的数据库连接……

代码语言:javascript
复制
  echo '<pre>';
  print_r($db['default']);
  echo '</pre>';

  echo 'Connecting to database: ' .$db['default']['database'];
  $dbh=mysql_connect
  (
    $db['default']['hostname'],
    $db['default']['username'],
    $db['default']['password'])
    or die('Cannot connect to the database because: ' . mysql_error());
    mysql_select_db ($db['default']['database']);

    echo '<br />   Connected OK:'  ;
    die( 'file: ' .__FILE__ . ' Line: ' .__LINE__);
票数 1
EN

Stack Overflow用户

发布于 2017-04-06 16:35:27

执行以下步骤:

1)在config/config.php文件中,=>设置正确的$config‘’base_url‘,例如$config’‘base_url’= 'http://myprojectttt.com';

2)检查文件、变量、数据库名等是否区分大小写

3)正确配置config/database.php文件

我已经给出了我的database.php文件配置供您参考

/*******************数据库配置开始*/

代码语言:javascript
复制
$db['default']['hostname'] = 'localhost';
//if you are not using any other db server keep "localhost as it is" =>   this solved my problem

$db['default']['username'] = 'ranjit'; 
$db['default']['password'] = 'ranjit';
$db['default']['database'] = 'database_name';
$db['default']['dbdriver'] = 'mysqli'; //change dbdriver to yours driver  eg.mysql
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$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;

/*******************数据库配置结束*/

如果此答案中有任何需要更改的地方,请发表意见。

谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35648768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档