Commit f114eb1a authored by Jesse Norell's avatar Jesse Norell

copy MySQL client flags support from master

parent 09a9ecbb
...@@ -74,18 +74,15 @@ class db { ...@@ -74,18 +74,15 @@ class db {
$this->dbCharset = $conf[$prefix.'db_charset']; $this->dbCharset = $conf[$prefix.'db_charset'];
$this->dbNewLink = $conf[$prefix.'db_new_link']; $this->dbNewLink = $conf[$prefix.'db_new_link'];
$this->dbClientFlags = $conf[$prefix.'db_client_flags']; $this->dbClientFlags = $conf[$prefix.'db_client_flags'];
$this->_iConnId = mysqli_init(); $this->_iConnId = mysqli_init();
$this->_iConnId->real_connect($this->dbHost, $this->dbUser, $this->dbPass, null, (int)$this->dbPort, null, $this->dbClientFlags);
$try = 0;
while($this->_iConnId->connect_error && $try < 5) {
if($try > 0) sleep(1);
$try++; mysqli_real_connect($this->_iConnId, $this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort, NULL, $this->dbClientFlags);
$this->_iConnId->real_connect($this->dbHost, $this->dbUser, $this->dbPass, null, (int)$this->dbPort, null, $this->dbClientFlags); for($try=0;(!is_object($this->_iConnId) || mysqli_connect_error()) && $try < 5;++$try) {
sleep($try);
mysqli_real_connect($this->_iConnId, $this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort, NULL, $this->dbClientFlags);
} }
if($this->_iConnId->connect_error) { if(!is_object($this->_iConnId) || mysqli_connect_error()) {
$this->_iConnId = null; $this->_iConnId = null;
$this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!'); $this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!');
return false; return false;
...@@ -244,7 +241,7 @@ class db { ...@@ -244,7 +241,7 @@ class db {
$try++; $try++;
$ok = mysqli_ping($this->_iConnId); $ok = mysqli_ping($this->_iConnId);
if(!$ok) { if(!$ok) {
if(!mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, $this->dbName, (int)$this->dbPort)) { if(!mysqli_real_connect(mysqli_init(), $this->dbHost, $this->dbUser, $this->dbPass, $this->dbName, (int)$this->dbPort, NULL, $this->dbClientFlags)) {
if($try > 4) { if($try > 4) {
$this->_sqlerror('DB::query -> reconnect'); $this->_sqlerror('DB::query -> reconnect');
return false; return false;
......
...@@ -51,7 +51,7 @@ class app { ...@@ -51,7 +51,7 @@ class app {
*/ */
if($conf['dbmaster_host'] != '' && ($conf['dbmaster_host'] != $conf['db_host'] || ($conf['dbmaster_host'] == $conf['db_host'] && $conf['dbmaster_database'] != $conf['db_database']))) { if($conf['dbmaster_host'] != '' && ($conf['dbmaster_host'] != $conf['db_host'] || ($conf['dbmaster_host'] == $conf['db_host'] && $conf['dbmaster_database'] != $conf['db_database']))) {
$this->dbmaster = new db($conf['dbmaster_host'], $conf['dbmaster_user'], $conf['dbmaster_password'], $conf['dbmaster_database'], $conf['dbmaster_port']); $this->dbmaster = new db($conf['dbmaster_host'], $conf['dbmaster_user'], $conf['dbmaster_password'], $conf['dbmaster_database'], $conf['dbmaster_port'], $conf['dbmaster_client_flags']);
} else { } else {
$this->dbmaster = $this->db; $this->dbmaster = $this->db;
} }
......
...@@ -64,7 +64,7 @@ class db ...@@ -64,7 +64,7 @@ class db
*/ */
// constructor // constructor
public function __construct($host = NULL , $user = NULL, $pass = NULL, $database = NULL, $port = NULL) { public function __construct($host = NULL , $user = NULL, $pass = NULL, $database = NULL, $port = NULL, $flags = NULL) {
global $app, $conf; global $app, $conf;
$this->dbHost = $host ? $host : $conf['db_host']; $this->dbHost = $host ? $host : $conf['db_host'];
...@@ -74,19 +74,16 @@ class db ...@@ -74,19 +74,16 @@ class db
$this->dbPass = $pass ? $pass : $conf['db_password']; $this->dbPass = $pass ? $pass : $conf['db_password'];
$this->dbCharset = $conf['db_charset']; $this->dbCharset = $conf['db_charset'];
$this->dbNewLink = $conf['db_new_link']; $this->dbNewLink = $conf['db_new_link'];
$this->dbClientFlags = $conf['db_client_flags']; $this->dbClientFlags = $flags ? $flags : $conf['db_client_flags'];
$this->_iConnId = mysqli_init(); $this->_iConnId = mysqli_init();
$this->_iConnId->real_connect($this->dbHost, $this->dbUser, $this->dbPass, null, (int)$this->dbPort, null, $this->dbClientFlags);
$try = 0;
while($this->_iConnId->connect_error && $try < 5) {
if($try > 0) sleep(1);
$try++; mysqli_real_connect($this->_iConnId, $this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort, NULL, $this->dbClientFlags);
$this->_iConnId->real_connect($this->dbHost, $this->dbUser, $this->dbPass, null, (int)$this->dbPort, null, $this->dbClientFlags); for($try=0;(!is_object($this->_iConnId) || mysqli_connect_error()) && $try < 5;++$try) {
sleep($try);
mysqli_real_connect($this->_iConnId, $this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort, NULL, $this->dbClientFlags);
} }
if($this->_iConnId->connect_error) { if(!is_object($this->_iConnId) || mysqli_connect_error()) {
$this->_iConnId = null; $this->_iConnId = null;
$this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!', '', true); $this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!', '', true);
return false; return false;
...@@ -198,7 +195,7 @@ class db ...@@ -198,7 +195,7 @@ class db
$try++; $try++;
$ok = mysqli_ping($this->_iConnId); $ok = mysqli_ping($this->_iConnId);
if(!$ok) { if(!$ok) {
if(!mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, $this->dbName, (int)$this->dbPort)) { if(!mysqli_real_connect(mysqli_init(), $this->dbHost, $this->dbUser, $this->dbPass, $this->dbName, (int)$this->dbPort, NULL, $this->dbClientFlags)) {
if($this->errorNumber == '111') { if($this->errorNumber == '111') {
// server is not available // server is not available
if($try > 9) { if($try > 9) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment