【问题标题】:I got error CodeIgniter\Database\Exceptions\DatabaseException #8 when trying to connect to database尝试连接数据库时出现错误 CodeIgniter\Database\Exceptions\DatabaseException #8
【发布时间】:2021-06-08 00:42:47
【问题描述】:

请帮忙。尝试连接数据库时出现错误CodeIgniter\Database\Exceptions\DatabaseException #8。我使用codeigniter 4,当我尝试连接到数据库时,它不会连接并且总是出现该错误。我不知道为什么会这样。

这是我调用表格时的代码

class Komik extends BaseController
{
    protected $komikModel;
    public function __construct()
    {
        $this->komikModel = new KomikModel();
    }
 public function index()
    {
        $komik = $this->komikModel->findAll();
        dd($komik);
        return view('komik/index', $data);
    }
}

这是我的 .env

 database.default.hostname = localhost
database.default.database = ci4
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi

我正在使用 XAMPP。如果您知道如何解决此问题,请提供帮助。

【问题讨论】:

  • 检查你的服务器是否安装了 MySQLi 扩展
  • @mail2bapi 是的,它已经安装了。但是如果我在没有 php sprak serve 的情况下运行它并且包含域,例如 http://localhost:8080/framework/public/komik/ 它可以连接数据库。在这种情况下,我从 XAMPP 更改为 MAMP。你有过同样的问题吗?
  • 检查 MAMP 是否具有与 XAMPP 相同的数据库凭据
  • @mail2bapi mamp 的不同之处在于它有 root 密码,我也已经写过了,但还是一样。现在我想迁移数据库时又遇到了这个问题,因为它说unable to connect
  • 检查,MySQLi是否安装,在CMD中输入:net start ...搜索你的驱动,如果不存在,安装它。

标签: php database codeigniter codeigniter-4


【解决方案1】:

在 php.ini 文件中定义的半列就像我们评论一样被评论了 任何可选代码。虽然 mysqli 的扩展名是 ;extension=mysqli 它可以工作 正如所评论的那样,当我们删除 ; 时它可以工作;

但我想说现在不需要安装或删除;extension=mysqli 如果你有最新版本的 xampp 服务器、php 和 MVC 框架。 所以大家都应该安装最新版本的论文。

只需要检查是否出错 Database Exception 数据库异常

我会亲自要求正确配置您的数据库。

这样写你的数据库连接

database.default.hostname = localhost
database.default.database = your_database_name(whatever your database name is)
database.default.username = root
database.default.password =123456 (please install mysql manually by mysql 
installer there will be requirement of password (suppose there your passord is
123456, you have to keep your password here 123456.)
database.default.DBDriver = MySQLi

在您的 config/database.php 文件中,请确保您的端口号和 mysql 如果不同,端口号相同。请也这样做。

在 mysql 中创建数据库时我也会推荐一件事。

单击新建并将您的数据库名称放在该类型的集合选择之后

  • utf8mb4_unicode_ci

.它也会影响。

【讨论】:

  • 请分享更多细节。如果未安装 MySQL 扩展,这不会引发另一条错误消息吗?另外这里的排序规则是如何相关的?通常,更改排序规则不会影响是否可以登录
  • 如果 MySQL 没有安装在 php.ini 中,但是如果你有最新版本的服务器,比如 xampp,MySQL 将会运行。如果您使用最新版本的 mvc 框架,它不会引发另一个错误。我们可以轻松地与数据库连接并可以进行与数据库相关的工作,但不要忘记在 c/ 程序文件中手动安装 mysql 并且您将输入的任何密码在框架的 database.php 或 .env 文件中保持相同的密码
  • 同样匹配phpmyadmin中的端口号,并在xampp服务器端口中保持相同
【解决方案2】:

启用 php mysqli 扩展

来自 php 文件夹中的 php.ini 文件

;extension=mysqli 只需删除 ; 就像这样 extension=mysqli 这对我有用。谢谢。

【讨论】:

  • 请简要说明为什么要删除它?它有什么作用?
  • 许多不同的扩展可用于 PHP。 Windows PHP 发行版带有超过 20 种不同的扩展,它们都在 php.ini 文件中列出(尽管被注释掉了)。要激活特定扩展,只需删除行首的分号并重新启动服务器。要停用扩展程序(例如,为了获得更好的性能),请添加分号以注释掉该行。
  • 不要在评论中解释,将此解释添加到您的答案中并研究如何在 StackOverflow 中简要回答
猜你喜欢
  • 2021-01-16
  • 2016-06-21
  • 2020-07-13
  • 2014-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-20
  • 2014-06-10
相关资源
最近更新 更多