如何在php中为整个项目建立一个mysql连接

ffscu2ro  于 2021-06-25  发布在  Mysql
关注(0)|答案(2)|浏览(264)

对于我的项目,我有一个静态的mysql连接方法,如果线程现在处于活动状态,连接就不会再次产生,但是有一个问题,当我们使用ajax时,每个ajax请求都会得到一个单独的连接,因为ajaxes程序将其视为当前程序流之外的连接。我尝试将连接对象保存为会话,甚至序列化了它,但再次尝试使用时出错。
这是我的密码:

public static function DBConnect(){

    if(!self::$conn)
    {
        self::$conn = $link = mysqli_connect(_dbHost_,_dbUser_,_dbPass_,_dbName_);
        if (mysqli_connect_errno()) 
        {
            echo 'Could not select database ' ._dbName_ .' '. mysqli_error($link);
            exit;
        }
        mysqli_query($link,"SET NAMES 'utf8'");
        //var_dump(self::$conn);
        return self::$conn; 
    }
    else
        return self::$conn;

}

所以,有人的想法,给我只有一个连接整个项目?

ddhy6vgd

ddhy6vgd1#

这不是简单的方法,因为当请求结束时连接通常是关闭的,ajax请求是独立的请求。
但是您可以看看持久连接,这在http://php.net/manual/en/mysqli.persistconns.php 通过在主机名前面加上 p: . 这会使连接在多个请求上保持打开状态

ecfsfe2w

ecfsfe2w2#

你不需要它。
每个ajax请求都获得一个单独的连接
这就是php的工作原理

相关问题