php - 类循环创建 mysql 太多连接

标签 php mysql oop class mysqli

所以我正在使用很多类...一切都工作正常,直到我将 session 类(验证和创建/销毁 session )包含到我的用户类(执行用户操作、登录、注册等)中。

基本上,我收到了“mysqli 连接数太多!”错误...我认为这是因为我的 session 类包含在用户类中,反之亦然:

__User 类的构造:

$this->db = new DB($db);
$this->password = new Password();
$this->session = new Session($db);

$db 只是一个数据库信息数组...

__Session 类的构造:

 $this->error = new Error();
 $this->users = new User($db);
 $this->db = new DB($db);

所以你看到它们是如何相互包含的,我认为这就是导致我的连接错误的原因。

最佳答案

创建数据库连接不是用户的工作。 (当你想到它时,这没有多大意义,不是吗?)

相反,在构造函数中询问数据库连接。

class User {
    public function __construct(DB $db) {

这样,您就可以在整个应用程序中重用连接对象。

关于php - 类循环创建 mysql 太多连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15887556/

相关文章:

php - 使用php中的复选框删除多个mysql行

python - 状态和行动形式主义。不同类之间如何实现+,-,=运算符

python - 父类(super class)的实例变量的值在子类的实例中保持不变

javascript - html/php 表单转 JSON 的问题

php - 使用 Jquery PHP 的调查表单生成器?

python - 对于 INSERT,使用带有变量的 LIKE 语句

java - 自定义 SQL 查询以检查 GET-Request 中的列

php - Laravel Eloquent 选择具有 maxcreated_at 的所有行

c# - C#中虚方法的问题

php - 使用 AJAX 删除本地文件和数据库记录