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

the*_*hep 3 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 ['default'] ['hostname'] ='mysql:host = localhost';

但我仍然有错误

错误号码:3D000/1046

没有选择数据库

the*_*hep 6

我花了一些时间调试一段时间我发现一旦dbdriver被选为'pdo'Codeigniter检查来自$ db ['default'] ['hostname']的dsn详细信息而不是$ db ['default'] ['dns']包括数据库名称如下.

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

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


Kev*_*vin 6

我的配置:

    'dsn'   => 'mysql:host=localhost;dbname=codeigniter3',
    'dbdriver' => 'pdo'
Run Code Online (Sandbox Code Playgroud)

您可以在这里看到: CodeIgniter PDO 数据库驱动程序不起作用