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

codeigniter 3.1 PDO mysql错误号:3D000/1046未选择数据库,mysql,pdo,codeigniter-3,Mysql,Pdo,Codeigniter 3,我之前在将Codeigner 2.xx升级到3.xx时遇到问题,我找不到任何完整的答案。所以我想和大家分享一下我是如何解决这个问题的 在Codeigner官方网站中,展示如何将PDO与Mysql连接,如下所示 对于PDO驱动程序,应该改用$config['dsn']设置 “主机名”和“数据库”的名称: $config['dsn']='mysql:host=localhost;dbname=mydatabase' 但我仍然无法使它工作,因为它显示出错误 无效或不存在PDO子驱动程序 一些网站展示

我之前在将Codeigner 2.xx升级到3.xx时遇到问题,我找不到任何完整的答案。所以我想和大家分享一下我是如何解决这个问题的

在Codeigner官方网站中,展示如何将PDO与Mysql连接,如下所示

对于PDO驱动程序,应该改用$config['dsn']设置 “主机名”和“数据库”的名称:

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

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

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

一些网站展示了如何通过将其添加到主机名来解决此问题

$db['default']['hostname']='mysql:host=localhost'

但我还是有错误

错误编号:3D000/1046

未选择任何数据库


我花时间调试了一段时间,发现一旦dbdriver被选择为'pdo'Codeigniter,那么从$db['default']['hostname']检查dsn详细信息时就不在了 $db['default']['dns']包括如下所示的数据库名称

$db['default']['hostname']= 'mysql:host=localhost;dbname=我的_数据库'

我希望这将有助于任何可能遇到类似我的错误的人。

我的配置:

    'dsn'   => 'mysql:host=localhost;dbname=codeigniter3',
    'dbdriver' => 'pdo'
你可以在这里看到: