所以我正在使用很多类...一切都工作正常,直到我将 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/