mysql_pconnect()-Nginx,php5 fpm,mysql

mysql_pconnect()-Nginx,php5 fpm,mysql,php,mysql,sql,nginx,Php,Mysql,Sql,Nginx,我有一个游戏,分为三个世界。今天我在我的游戏中更新了世界3 更新mysql_pconnect后,随机更改所选数据库,尽管我已将数据库设置为“s3”。在我的站点上,几秒钟后我看到数据库“s2”或“s1”中的数据 我为我的数据库“s3”创建了一个新用户,当我连接时,一切都正常,但mysql为一个用户连接创建了新线程,那么会有什么问题呢 在任何一个世界上,我对mysql\u pconnect使用相同的用户,所以我应该为每个数据库创建一个用户 class MySQL { static public f

我有一个游戏,分为三个世界。今天我在我的游戏中更新了世界3

更新mysql_pconnect后,随机更改所选数据库,尽管我已将数据库设置为“s3”。在我的站点上,几秒钟后我看到数据库“s2”或“s1”中的数据

我为我的数据库“s3”创建了一个新用户,当我连接时,一切都正常,但mysql为一个用户连接创建了新线程,那么会有什么问题呢

在任何一个世界上,我对mysql\u pconnect使用相同的用户,所以我应该为每个数据库创建一个用户

class MySQL {

static public function ConnectToDb($Host, $User, $Password, $Database) {

    @mysql_pconnect($Host, $User, $Password) or die(mysql_error());
    mysql_select_db($Database);
    mysql_set_charset('utf8');

}

$System['BazaDanych'] = array('login' => 'root', 'haslo' => '', 'host' => 'localhost', 'baza' => 's2');

MySQL::ConnectToDb($KonfiguracjaSystemu['BazaDanych']['host'] , $KonfiguracjaSystemu['BazaDanych']['login'] , $KonfiguracjaSystemu['BazaDanych']['haslo'] , $KonfiguracjaSystemu['BazaDanych']['baza']);
这是我本地配置中的代码


TOm

首先,在连接时,该函数将首先尝试查找已使用相同主机、用户名和密码打开的持久链接。如果找到一个,将返回它的标识符,而不是打开新连接

其次,当脚本执行结束时,与SQL server的连接不会关闭。相反,该链接将保持开放供将来使用mysql\u close不会关闭mysql\u pconnect建立的链接

请在以下网站上阅读更多信息:


但我不明白,为什么mysql创建的线程比那些使用onlinetry关闭mysql\u close连接的人多;昨天我在mysql\u connect上更改了mysql\u pconnect,在我关闭mysql\u的每个页面上,现在都可以了。我决定使用mysql\u pconnect,因为我有很多ajax间隔。我必须继续使用mysql\u connect-谢谢。@TomFurca如果我的答案有帮助,请不要忘记检查它作为accepted@TomFurca你有预付款吗?如果您不知道如何检查我的答案是否被接受,您可以阅读以下警告:如果您只是在学习PHP,请不要学习过时的mysql_查询接口。这很糟糕,在未来的PHP版本中会被删除。一个现代的替代品。像这样的指南可以帮助解释最佳实践。此外,围绕这个古老的接口编写包装完全是浪费时间。