CodeIgniter连接WAMP的MySQL时遇Unknown database错误求助
解决CodeIgniter连接WAMP MySQL时的「Unknown database db_name」错误
嘿,刚入门CodeIgniter就碰到这个问题太正常了,我来帮你一步步排查解决:
首先,最核心的问题:数据库是否真的存在?
报错说「未知数据库」,90%的概率是你WAMP的MySQL里根本没创建对应名字的数据库!
- 打开WAMP的phpMyAdmin(点击右下角WAMP图标 → phpMyAdmin)
- 左侧列表里找找有没有你配置里写的
test数据库?- 如果没有,赶紧新建一个(点击左侧「新建」,输入数据库名
test,字符集选utf8_general_ci,点创建) - 如果有,确认名字完全一致——大小写敏感哦!比如你建的是
Test但配置里是test,也会报错。
- 如果没有,赶紧新建一个(点击左侧「新建」,输入数据库名
检查你的database.php配置细节
你贴的配置代码我看了,重点核对这几项:
$active_group = 'default'; $query_builder = TRUE; $db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', // WAMP默认用localhost没问题,也可以试试127.0.0.1 'username' => 'root', // WAMP默认MySQL用户名是root,没错 'password' => '', // 如果你没改过WAMP的MySQL密码,空密码是对的 'database' => 'test', // 这里必须和你实际创建的数据库名完全匹配! 'dbdriver' => 'mysqli', // 这个驱动没问题 'dbprefix' => '', 'pconnect' => TRUE, // 建议改成FALSE,CI3里持久连接可能有坑 'db_debug' => TRUE, 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array() );
- 试试把
hostname改成127.0.0.1,有时候localhost会解析成IPv6导致连接问题 - 确认WAMP的MySQL服务是启动状态:右下角WAMP图标要是绿色的,橙色的话说明服务没跑起来,双击图标打开管理面板,启动MySQL服务
最后验证连接
改完配置后,重启WAMP的Apache服务(点击WAMP图标 → Apache → 重启服务),然后再测试你的CodeIgniter应用。如果还是报错,直接用phpMyAdmin登录root账号,看看能不能正常访问test数据库——如果phpMyAdmin都访问不了,那就是MySQL本身的问题,不是CodeIgniter的锅啦!
内容的提问来源于stack exchange,提问作者Digesh Dalal
相关产品推荐
相关产品推荐

