From 979e790c68b596a3b6498097dbe66a9f854042c6 Mon Sep 17 00:00:00 2001 From: "ncomputers.org" Date: Sat, 1 Apr 2017 23:30:45 -0600 Subject: [PATCH] sql added support for flags --- interface/lib/classes/db_mysql.inc.php | 14 ++++++-------- server/lib/app.inc.php | 2 +- server/lib/classes/db_mysql.inc.php | 18 ++++++++---------- 3 files changed, 15 insertions(+), 19 deletions(-) mode change 100755 => 100644 server/lib/app.inc.php diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php index 8c06dd71a8..cfca8aac9e 100644 --- a/interface/lib/classes/db_mysql.inc.php +++ b/interface/lib/classes/db_mysql.inc.php @@ -75,14 +75,12 @@ class db extends mysqli $this->dbCharset = $conf[$prefix.'db_charset']; $this->dbNewLink = $conf[$prefix.'db_new_link']; $this->dbClientFlags = $conf[$prefix.'db_client_flags']; + $this->_iConnId = mysqli_init(); - $this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort); - $try = 0; - while((!is_object($this->_iConnId) || mysqli_connect_error()) && $try < 5) { - if($try > 0) sleep(1); - - $try++; - $this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort); + mysqli_real_connect($this->_iConnId, $this->dbHost, $this->dbUser, $this->dbPass, '', (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(!is_object($this->_iConnId) || mysqli_connect_error()) { @@ -244,7 +242,7 @@ class db extends mysqli $try++; $ok = mysqli_ping($this->_iConnId); 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) { $this->_sqlerror('DB::query -> reconnect'); return false; diff --git a/server/lib/app.inc.php b/server/lib/app.inc.php old mode 100755 new mode 100644 index dd8be5aa68..117af30b8a --- a/server/lib/app.inc.php +++ b/server/lib/app.inc.php @@ -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']))) { - $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 { $this->dbmaster = $this->db; } diff --git a/server/lib/classes/db_mysql.inc.php b/server/lib/classes/db_mysql.inc.php index ec89ba79e1..1825c52240 100644 --- a/server/lib/classes/db_mysql.inc.php +++ b/server/lib/classes/db_mysql.inc.php @@ -64,7 +64,7 @@ class db extends mysqli */ // 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; $this->dbHost = $host ? $host : $conf['db_host']; @@ -74,15 +74,13 @@ class db extends mysqli $this->dbPass = $pass ? $pass : $conf['db_password']; $this->dbCharset = $conf['db_charset']; $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_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort); - $try = 0; - while((!is_object($this->_iConnId) || mysqli_connect_error()) && $try < 5) { - if($try > 0) sleep(1); - - $try++; - $this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort); + mysqli_real_connect($this->_iConnId, $this->dbHost, $this->dbUser, $this->dbPass, '', (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(!is_object($this->_iConnId) || mysqli_connect_error()) { @@ -197,7 +195,7 @@ class db extends mysqli $try++; $ok = mysqli_ping($this->_iConnId); 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') { // server is not available if($try > 9) { -- GitLab