我有一个游戏,分为三个世界。今天我在我的游戏中更新了world 3。
在更新mysql_pconnect之后,随机更改了一个选定的数据库,尽管我已经设置了数据库's3‘。几秒钟后,我在我的网站上看到了来自数据库's2‘或's1’的数据。
我为我的数据库's3‘创建了一个新用户,当我连接一切正常时,但是mysql为一个用户连接创建了新的线程,那么会有什么问题呢?
在任何情况下,我对mysql_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
发布于 2015-03-02 22:49:26
首先,当连接时,该函数将首先尝试查找已经使用相同的主机、用户名和密码打开的(持久)链接。如果找到,将返回它的标识符,而不是打开新的连接。
其次,当脚本执行结束时,与SQL服务器的连接不会关闭。相反,链接将保持打开状态以供将来使用(mysql_close()不会关闭由mysql_pconnect()建立的链接)。
有关更多信息,请参阅:
https://stackoverflow.com/questions/28799076
复制相似问题