mysqli连接在__construct中完成并导致连接太多

时间:2017-04-12 12:17:32

标签: php mysql sql mysqli

我有在数据库类的__construct部分创建的mysqli连接:

    public function __construct() {
    $link = new mysqli($this->host, $this->user, $this->password, $this->db);
}

因此,每次我想创建数据库的对象(用于查询)它都会创建新的连接,并导致我的脚本中的“连接太多”。

我调用数据库(来自另一个类)的方式是这样的:

$db = new Database;
$db->query("SELECT language_iso_code FROM languages WHERE language_iso_code = ");

还有其他方法可以调用查询功能吗?或者也许是将mysqli连接到另一个类的方法?

1 个答案:

答案 0 :(得分:0)

您可能会考虑为您的类使用静态变量,并且仅在连接未连接时才连接到数据库:

class Example {
    private static link = null;

    public function __construct() {
        if(self::$link === null) {
            self::link = new mysqli($this->host, $this->user, $this->password, $this->db);
        }
    }
}