codeigniter 3.1 PDO mysql错误号:3D000 / 1046未选择数据库

时间:2015-09-29 06:08:04

标签: mysql pdo codeigniter-3

我之前遇到过将codeignier 2.xx升级到3.xx的问题,我找不到任何已完成的答案。所以我想分享一下我是如何解决它的。

在Codeignier官方网站上显示如何将PDO与Mysql连接如下

  

对于PDO驱动程序,您应该使用$ config ['dsn']设置   'hostname'和'database':

     

$ config ['dsn'] ='mysql:host = localhost; dbname = mydatabase'

https://www.codeigniter.com/user_guide/database/connecting.html

但我仍然无法正常工作,因为它显示错误

  

PDO子驱动程序无效或不存在

某个网站显示了如何通过将其添加到主机名

来解决此问题
  

$ db ['默认'] ['主机名'] =' mysql:host = localhost&#39 ;;

但我仍然有错误

  

错误号码:3D000 / 1046

     

未选择数据库

2 个答案:

答案 0 :(得分:6)

我花了一些时间来调试一段时间我发现一旦选择了dbdriver到' pdo' Codeigniter检查来自$ db ['默认'] ['主机名']的dsn详细信息 $ db ['默认'] [' dns']包括数据库名称,如下所示。

  

$ db ['默认'] ['主机名'] =   ' MySQL的:主机=本地主机; DBNAME = MY_DATABASE&#39 ;;

我希望这对任何人都有可能像我的错误一样有帮助。

答案 1 :(得分:4)

我的配置:

    'dsn'   => 'mysql:host=localhost;dbname=codeigniter3',
    'dbdriver' => 'pdo'

你可以在这里看到: CodeIgniter PDO database driver not working