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

问题描述 投票:0回答:3

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

在Codeignier官网展示了如何连接PDO和Mysql如下

对于 PDO 驱动程序,您应该使用 $config[‘dsn’] 设置 ‘主机名’和‘数据库’:

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

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

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

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

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

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

但是我仍然遇到错误

错误编号:3D000/1046

未选择数据库

mysql pdo codeigniter-3
3个回答
6
投票

我花了时间调试一段时间,发现一旦选择 dbdriver 来“pdo”,Codeigniter 就会检查 $db ['default'] ['hostname'] 中的 dsn 详细信息,而不是在 $db ['default'] ['dns'] 包括数据库名称,如下所示。

$db ['默认'] ['主机名'] = 'mysql:host=localhost;dbname=my_database';

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


6
投票

我的配置:

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

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


0
投票

Merci grâce à toi,j'ai réussi à résoudre le mien。

© www.soinside.com 2019 - 2024. All rights reserved.