我之前在将 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
未选择数据库
我花了时间调试一段时间,发现一旦选择 dbdriver 来“pdo”,Codeigniter 就会检查 $db ['default'] ['hostname'] 中的 dsn 详细信息,而不是在 $db ['default'] ['dns'] 包括数据库名称,如下所示。
$db ['默认'] ['主机名'] = 'mysql:host=localhost;dbname=my_database';
我希望这对任何可能遇到像我这样的错误的人有帮助。
我的配置:
'dsn' => 'mysql:host=localhost;dbname=codeigniter3',
'dbdriver' => 'pdo'
您可以在这里看到: CodeIgniter PDO 数据库驱动程序不工作
Merci grâce à toi,j'ai réussi à résoudre le mien。