|
@@ -31,17 +31,17 @@ class Connection extends ConnBase implements ConnIntf
|
|
*/
|
|
*/
|
|
public function getReadConnection()
|
|
public function getReadConnection()
|
|
{
|
|
{
|
|
- if (self::$_readConnection != null) {
|
|
|
|
- return self::$_readConnection;
|
|
|
|
- }
|
|
|
|
list($dbInfo, $useSlave) = $this->getDBInfoAndSalve();
|
|
list($dbInfo, $useSlave) = $this->getDBInfoAndSalve();
|
|
|
|
+ if (isset(self::$_readConnection[$dbInfo['db']]) && self::$_readConnection[$dbInfo['db']] != null) {
|
|
|
|
+ return self::$_readConnection[$dbInfo['db']];
|
|
|
|
+ }
|
|
|
|
|
|
if ($useSlave) {
|
|
if ($useSlave) {
|
|
try {
|
|
try {
|
|
$connection = mysqli_connect($dbInfo['host'], $dbInfo['user'], $dbInfo['password'], $dbInfo['db']);
|
|
$connection = mysqli_connect($dbInfo['host'], $dbInfo['user'], $dbInfo['password'], $dbInfo['db']);
|
|
if (!$connection) throw new Errors(\Qii::i(1501, iconv("GBK", "UTF-8//TRANSLIT", mysqli_connect_error())), true);
|
|
if (!$connection) throw new Errors(\Qii::i(1501, iconv("GBK", "UTF-8//TRANSLIT", mysqli_connect_error())), true);
|
|
mysqli_select_db($connection, $dbInfo['db']);
|
|
mysqli_select_db($connection, $dbInfo['db']);
|
|
- return self::$_readConnection = $connection;
|
|
|
|
|
|
+ return self::$_readConnection[$dbInfo['db']] = $connection;
|
|
} catch (Exception $e) {
|
|
} catch (Exception $e) {
|
|
return $this->getWriteConnection();
|
|
return $this->getWriteConnection();
|
|
}
|
|
}
|
|
@@ -55,15 +55,15 @@ class Connection extends ConnBase implements ConnIntf
|
|
*/
|
|
*/
|
|
public function getWriteConnection()
|
|
public function getWriteConnection()
|
|
{
|
|
{
|
|
- if (self::$_writeConnection != null) {
|
|
|
|
- return self::$_writeConnection;
|
|
|
|
|
|
+ $dbInfo = $this->_dbInfo['master'];
|
|
|
|
+ if (isset(self::$_writeConnection[$dbInfo['db']]) && self::$_writeConnection[$dbInfo['db']] != null) {
|
|
|
|
+ return self::$_writeConnection[$dbInfo['db']];
|
|
}
|
|
}
|
|
- $dbInfo = $this->_dbInfo['master'];
|
|
|
|
try {
|
|
try {
|
|
$connection = @mysqli_connect($dbInfo['host'], $dbInfo['user'], $dbInfo['password'], $dbInfo['db']);
|
|
$connection = @mysqli_connect($dbInfo['host'], $dbInfo['user'], $dbInfo['password'], $dbInfo['db']);
|
|
if (!$connection) throw new Errors(\Qii::i(1501, iconv("GBK", "UTF-8//TRANSLIT", mysqli_connect_error())), true);
|
|
if (!$connection) throw new Errors(\Qii::i(1501, iconv("GBK", "UTF-8//TRANSLIT", mysqli_connect_error())), true);
|
|
mysqli_select_db($connection, $dbInfo['db']);
|
|
mysqli_select_db($connection, $dbInfo['db']);
|
|
- return self::$_writeConnection = $connection;
|
|
|
|
|
|
+ return self::$_writeConnection[$dbInfo['db']] = $connection;
|
|
} catch (Exception $e) {
|
|
} catch (Exception $e) {
|
|
throw new Errors(\Qii::i(1500, $dbInfo['host'], $dbInfo['user'], $dbInfo['password'], $dbInfo['db'], toUTF8($e->getMessage())), __LINE__);
|
|
throw new Errors(\Qii::i(1500, $dbInfo['host'], $dbInfo['user'], $dbInfo['password'], $dbInfo['db'], toUTF8($e->getMessage())), __LINE__);
|
|
}
|
|
}
|