Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysqli连接在_构造中完成,导致连接过多_Php_Mysql_Sql_Mysqli - Fatal编程技术网

Php mysqli连接在_构造中完成,导致连接过多

Php mysqli连接在_构造中完成,导致连接过多,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我有一个mysqli连接,它是在我的数据库类的uu构造部分创建的: public function __construct() { $link = new mysqli($this->host, $this->user, $this->password, $this->db); } 因此,每次我想要创建数据库对象(用于查询)时,都需要创建新连接,这会导致脚本中出现“太多连接” 我(从另一个类)调用数据库的方式如下: $db = new Database;

我有一个mysqli连接,它是在我的数据库类的uu构造部分创建的:

    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 = ");

是否有其他方法调用查询函数?或者可以将MySQL的连接传递给另一个类?

,您可以考虑为类使用静态变量,如果连接不起,只连接到数据库:

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

每个脚本使用新数据库的确切次数是多少?是的,您可以将对象作为参数传递到方法和其他函数中,使其在该方法或函数的范围内可见。我所做的是一个DB类,每次我想使用数据库进行查询时,我都需要创建新对象。该网站包含很多文件和课程。我必须使用“新数据库”让它拥有它不?不管是谁投票给了这个答案:它不会解决问题我的问题是-所有大型项目都是这样做的吗?cms?还是有别的办法?例如在wordpress、drupal或任何框架中。。。他们如何在不同的文件、不同的类中使用查询而不创建新对象?或者他们使用你建议的静态选项?@你的常识你知道什么可能解决问题吗?