codeigniter安装后必须配置数据库信息,否则调用$this->db会报错“database connection failed”;需修改application/config/database.php中$db['default']数组的hostname、username、password、database及dbdriver,并通过$this->load->database()验证连接。

CodeIgniter安装后必须配置数据库信息才能执行增删改查操作,否则调用$this->db时会直接报错“Database connection failed”,连基础模型加载都会中断。
修改application/config/database.php文件
打开项目根目录下的application/config/database.php文件,找到以$db['default'] = array(开头的配置块。
将hostname、username、password、database四项按实际环境填写,例如本地XAMPP环境常用root空密码连接demo库:hostname填【127.0.0.1】(不要用localhost,Windows下MySQL socket解析可能失败),username填root,password留空,database填demo。
dbdriver务必设为mysqli(CI3)或pdo_mysql(CI4),旧版mysql驱动已废弃且PHP 7.0+不支持。
验证数据库配置是否生效
在任意控制器方法中写入以下代码并访问对应URL:
$this->load->database();
echo $this->db->conn_id ? '连接成功' : '连接失败';
如果输出“连接失败”,先检查MySQL服务是否运行,再确认database.php里没有多余的空格或中文标点——尤其是等号前后混入全角字符会导致整个数组解析失败。
切换到其他数据库连接组
方法一:在database.php中新增一个连接组,例如:
$db['backup'] = array(
'hostname' => '192.168.1.100',
'username' => 'bk_user',
'password' => 'secure_pass',
'database' => 'backup_db',
'dbdriver' => 'mysqli'
);
方法二:在控制器中动态加载该组:
$this->backup_db = $this->load->database('backup', TRUE);
注意:第二个参数TRUE表示返回数据库对象而非自动赋值给$this->db,避免覆盖主连接。
方法三:临时切换全局活动组(仅限CI3):
第一步:在database.php顶部附近找到$active_group = 'default';
第二步:将其改为$active_group = 'backup';
第三步:保存文件并刷新页面——此后所有$this->db调用都将指向backup组。











