1

I have a codeigniter web application which is working in lamp but not working in wamp. When I try to access the site it gives the following error

 Unable to connect to your database server using the provided settings.

 Filename: E:\wamp\www\CI\system\database\DB_driver.php

 Line Number: 114

I have used mysql and sqlite in my application.

Database.php

  $active_group = 'default';
  $active_record = TRUE;

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

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

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

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

SQLITE PDO

class CI_Appdb {

    var $conDb;

    public function __construct($userId = NULL) {
        $this->db($userId['user_id']);
    }

    public function close() {
        $this->conDb->close();
    }

    private function db($userId) {
        if ($userId) {
            $this->conDb = new PDO("sqlite:" . BASEPATH . "sqlitedb/" . $userId . "/app_data.db");
        }
    }

    public function query($query) {
        return $this->conDb->query($query);
    }

}
1
  • I tried connecting with another application which uses mysql only and its working. I think it has something to do with sqlite Commented Oct 28, 2013 at 10:48

2 Answers 2

2

You have defined the $active_group = 'default' But there is no default group in your DB settings.

Sign up to request clarification or add additional context in comments.

Comments

0

Because you have: $active_group = 'default'; set, you need to add:

$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "database_name";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$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;

Or specify: $active_group = 'login';

$active_group = 'user';

$active_group = 'pm';

$active_group = 'transaction';

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.