簡體   English   中英

mysqli連接在__construct中完成,導致連接過多

[英]mysqli connection done in __construct and cause too many connections

我有在數據庫類的__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的連接傳遞給另一個類的方法?

您可能考慮為類使用靜態變量,並且僅在連接未建立的情況下才連接到數據庫:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM