我有一个codeigniter网络应用程序,它在灯中工作但不在wamp中工作。当我尝试访问该网站时,它会出现以下错误
Unable to connect to your database server using the provided settings.
Filename: E:\wamp\www\CI\system\database\DB_driver.php
Line Number: 114
我在我的应用程序中使用了mysql和sqlite。
$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;
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);
}
}
答案 0 :(得分:2)
您已定义$active_group = 'default'
但您的数据库设置中没有默认组。
答案 1 :(得分:0)
因为您设置了$active_group = 'default';
,所以需要添加:
$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;
或指定:
$active_group = 'login';
$active_group = 'user';
$active_group = 'pm';
$active_group = 'transaction';