mysql_pconnect
a>, yani ne istediğinizi yapacak kullanın.
Bağlarken ilk, işlev ilk zaten aynı host, kullanıcı adı ve şifre ile açık olan bir (kalıcı) bir bağlantı bulmaya çalışacaktı. Bulursa, bunun için bir tanımlayıcı yerine yeni bir bağlantı açma iade edilecektir.
Ayrıca sizin için bağlantı havuzu işlemek için bir statik veya singleton sınıfı kullanabilirsiniz.
<?php
class dbConnectionPooler
{
static var $connections = array();
private static function createConnection($host, $username, $password, $db) {
$connection = mysql_pconnect($host, $username, $password);
if (FALSE !== $connection) {
$result = mysql_select_db($db, $connection);
if (FALSE !== $result) {
self::$connections[self::getConnectionHash($host, $username, $password, $db)] = $connection;
return $connection;
}
}
}
private static function getConnectionHash($host, $username, $password, $db) {
return md5($host. $username. $password. $db); // use your favourite hashing function here
}
public static function getConnection($host, $username, $password, $db) {
$connectionHash = self::getConnectionHash($host, $username, $password, $db);
if (array_key_exists($connectionHash, self::$connections)) {
return self::$connections[$connectionHash];
} else {
return self::createConnection($host, $username, $password, $db);
}
return false;
}
}
$connection = dbConnectionPooler::getConnection("dbhost", "dbuser", "dbpassword", "mydb");
?>