首页 >数据库 >mysql教程 >如何从 PHP 中的单独类成功连接到 MySQLi 并排除连接错误?

如何从 PHP 中的单独类成功连接到 MySQLi 并排除连接错误?

Susan Sarandon
Susan Sarandon原创
2024-11-29 16:13:10341浏览

How Can I Successfully Connect to MySQLi from a Separate Class in PHP and Troubleshoot Connection Errors?

在 PHP 中使用来自另一个类的 MySQLi:排除连接错误

在 PHP 中,使用来自单独类的 MySQLi 可能会带来挑战,特别是在以下情况下从旧的 PHP 版本升级。本文解决常见问题并提供解决方案来帮助您建立成功的连接。

问题描述

在单独的类中初始实现数据库连接并访问它尝试查询时,API 类中的内容导致内部服务器错误 (500)

解决方案

经调查,原始设置中忽略了几个最佳实践:

  • 从数据库扩展用户类类是不必要的。
  • 数据库类没有任何意义

要解决此问题,请考虑以下事项:

1.消除冗余数据库类

丢弃不必要的数据库类并创建单个 MySQLi 实例。

2.依赖注入

将 MySQLi 实例作为构造函数参数提供给每个需要数据库连接的类。

3.示例实现

database.php:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB");
$db->set_charset('utf8mb4');

myapi.php:

class MyAPI
{
    protected $db;

    public function __construct($db, $request_uri, $postData, $origin)
    {
        $this->db = $db;
    }

    public function getUser($id)
    {
        $sql = "SELECT * FROM users where>

小贴士调试

  • 实施 PHP 错误日志记录以捕获任何错误或异常。
  • 验证数据库凭据并确保启用所需的 MySQLi 扩展。
  • 检查数据库连接详细信息并确保您连接到正确的数据库。
  • 避免混合不同的数据库抽象层(例如,MySQL 和 MySQLi)在同一应用程序中。

通过遵循这些建议,您可以在 PHP 中建立强大且可维护的数据库连接。

以上是如何从 PHP 中的单独类成功连接到 MySQLi 并排除连接错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn