要使codeigniter正确连接mysql或mariadb,需修改application/config/database.php中的hostname、username、password、database四项参数,设dbdriver为'mysqli',可选启用pconnect和切换active_group,并在autoload.php中自动加载database库。

要让CodeIgniter框架正确连接到你的MySQL或MariaDB数据库,必须修改其核心数据库配置文件,否则所有数据库操作都会报错或无法执行。
定位并打开database.php配置文件
进入项目根目录 → 打开application/config/文件夹 → 找到并用文本编辑器(如VS Code、Notepad++或vim)打开database.php文件。
【注意:不要修改application/config/database.php的文件名或移动位置,CI框架只认这个路径和文件名】
修改默认数据库连接参数
找到以$db['default'] = array(开头的数组块,这是主连接组配置。
逐行修改以下4项关键值:
-
'hostname' => 'localhost'→ 改为你的数据库服务器地址(如远程IP或域名) -
'username' => 'root'→ 改为实际数据库用户名 -
'password' => ''→ 填入对应用户的密码(即使为空字符串也不能删掉引号) -
'database' => 'mydb'→ 改为你要连接的数据库名称
确保'dbdriver'设为'mysqli'(PHP 7.0+必需),旧版'mysql'已废弃且会直接报错。
启用持久连接复用连接资源
将'pconnect' => FALSE改为'pconnect' => TRUE。
这一步能让PHP进程结束后不立即关闭数据库连接,下次请求可复用该连接,显著降低高并发下的建连开销。但注意:若使用PHP-FPM且worker进程长期驻留,需配合数据库端max_connections设置,避免连接数耗尽。
切换活动连接组(可选)
如果你在database.php中定义了多个连接组(如$db['production']、$db['test']),需同步修改顶部的$active_group变量:
把$active_group = 'default';中的'default'替换成你想要启用的组名,例如'production'。
这一步必须在$db数组定义之前完成,否则无效。
自动加载数据库类库
打开application/config/autoload.php文件 → 找到$autoload['libraries'] = array();这一行 → 在括号内加入'database',变成:
$autoload['libraries'] = array('database');
这样控制器和模型中无需每次手动$this->load->database(),系统启动时即自动加载。











