我有一个游戏,分为3个世界。今天我在游戏中进行了世界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']);
这是我本地配置的代码。
汤姆·
答案 0 :(得分:0)
首先,在连接时,该功能将首先尝试找到已使用相同主机,用户名和密码打开的(持久)链接。如果找到一个,将返回其标识符而不是打开新连接。
其次,当脚本的执行结束时,不会关闭与SQL服务器的连接。相反,链接将保持打开以供将来使用(mysql_close()不会关闭mysql_pconnect()建立的链接)。
了解更多相关信息: