”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在 PHP 中的不同类之间共享 MySQLi 连接?

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

发布于2024-11-02
浏览:746

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

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

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

问题: 内部服务器错误 500

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

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

示例:

// 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);

其他注意事项:

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

按照这些步骤,您应该能够在 PHP 中的不同类中成功使用 MySQLi。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3