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

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

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

For the PDO driver, you should use the $config[‘dsn’] setting instead
of ‘hostname’ and ‘database’:

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

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

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

Invalid or non-existent PDO subdriver

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

$db [‘default’] [‘hostname’] = ‘mysql:host=localhost’;

但我仍然有错误

Error Number: 3D000/1046

No database selected

最佳答案
我花了一些时间调试一段时间我发现一旦dbdriver被选为’pdo’Codeigniter检查来自$db [‘default’] [‘hostname’]的dsn详细信息不在
$db [‘default’] [‘dns’]包括数据库名称,如下所示.

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

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

转载注明原文:codeigniter 3.1 PDO mysql错误号:3D000 / 1046未选择数据库 - 代码日志