From a1c15afc49444c4c32890caedcb82f314b59f671 Mon Sep 17 00:00:00 2001 From: Choong Wei Tjeng Date: Tue, 3 Jul 2018 10:52:16 +0200 Subject: [PATCH] MySQL connect with client flags. Fixes #4558 --- interface/lib/classes/db_mysql.inc.php | 9 +++++---- server/lib/classes/db_mysql.inc.php | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php index 948d4e81ff..ee6e534b21 100644 --- a/interface/lib/classes/db_mysql.inc.php +++ b/interface/lib/classes/db_mysql.inc.php @@ -75,16 +75,17 @@ class db { $this->dbNewLink = $conf[$prefix.'db_new_link']; $this->dbClientFlags = $conf[$prefix.'db_client_flags']; - $this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort); + $this->_iConnId = mysqli_init(); + $this->_iConnId->real_connect($this->dbHost, $this->dbUser, $this->dbPass, null, (int)$this->dbPort, null, $this->dbClientFlags); $try = 0; - while((!is_object($this->_iConnId) || mysqli_connect_error()) && $try < 5) { + while($this->_iConnId->connect_error && $try < 5) { if($try > 0) sleep(1); $try++; - $this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort); + $this->_iConnId->real_connect($this->dbHost, $this->dbUser, $this->dbPass, null, (int)$this->dbPort, null, $this->dbClientFlags); } - if(!is_object($this->_iConnId) || mysqli_connect_error()) { + if($this->_iConnId->connect_error) { $this->_iConnId = null; $this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!'); return false; diff --git a/server/lib/classes/db_mysql.inc.php b/server/lib/classes/db_mysql.inc.php index 424867f095..21e9dc9aa5 100644 --- a/server/lib/classes/db_mysql.inc.php +++ b/server/lib/classes/db_mysql.inc.php @@ -76,16 +76,17 @@ class db $this->dbNewLink = $conf['db_new_link']; $this->dbClientFlags = $conf['db_client_flags']; - $this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort); + $this->_iConnId = mysqli_init(); + $this->_iConnId->real_connect($this->dbHost, $this->dbUser, $this->dbPass, null, (int)$this->dbPort, null, $this->dbClientFlags); $try = 0; - while((!is_object($this->_iConnId) || mysqli_connect_error()) && $try < 5) { + while($this->_iConnId->connect_error && $try < 5) { if($try > 0) sleep(1); $try++; - $this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort); + $this->_iConnId->real_connect($this->dbHost, $this->dbUser, $this->dbPass, null, (int)$this->dbPort, null, $this->dbClientFlags); } - if(!is_object($this->_iConnId) || mysqli_connect_error()) { + if($this->_iConnId->connect_error) { $this->_iConnId = null; $this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!', '', true); return false; -- GitLab