首页  >  文章  >  后端开发  >  如何在 PHP 中的不同类之间共享 MySQLi 连接?

如何在 PHP 中的不同类之间共享 MySQLi 连接?

Susan Sarandon
Susan Sarandon原创
2024-10-25 20:32:29417浏览

How to Share a MySQLi Connection Between Different Classes in PHP?

在类中使用 MySQLi:故障排除指南

在不同类中使用 MySQLi 可能具有挑战性,但不用担心。让我们深入探讨您遇到的问题并提供解决方案。

问题:内部服务器错误 500

  • 原因:尝试在不同的类 (MyAPI) 中创建数据库对象后访问它的 conn 属性。

解决方案: 在 MyAPI 构造函数中初始化数据库对象并将其作为需要数据库连接的其他函数的参数。这可确保共享连接的所有类都直接引用同一实例。

示例:

<code class="php">// myapi.php
class MyAPI {
    private $db;

    public function __construct($db) {
        $this->db = $db;
    }

    public function getUser($id) {
        $result = mysqli_query($this->db->conn, "SELECT * FROM users WHERE id='$id'");
        return mysqli_fetch_assoc($result);
    }
}

// app.php
// Initialize database once
$db = new mysqli(...);

// Create MyAPI instance with database reference
$api = new MyAPI($db);

// Use MyAPI to access user information
$user = $api->getUser(1);</code>

其他注意事项:

  • 避免从数据库扩展 User,因为没有必要。
  • 直接创建一个 mysqli 实例并将其传递给需要它的类。
  • 使用准备好的语句更好的安全性和性能。
  • 确保数据库连接参数正确并且数据库可访问。

按照以下步骤,您应该能够成功使用来自不同类的 MySQLi PHP。

以上是如何在 PHP 中的不同类之间共享 MySQLi 连接?的详细内容。更多信息请关注PHP中文网其他相关文章!

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