Skip to content

Commit a1c15af

Browse files
committed
MySQL connect with client flags. Fixes #4558
1 parent 416cda9 commit a1c15af

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

interface/lib/classes/db_mysql.inc.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,17 @@ public function __construct($prefix = '') {
7575
$this->dbNewLink = $conf[$prefix.'db_new_link'];
7676
$this->dbClientFlags = $conf[$prefix.'db_client_flags'];
7777

78-
$this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort);
78+
$this->_iConnId = mysqli_init();
79+
$this->_iConnId->real_connect($this->dbHost, $this->dbUser, $this->dbPass, null, (int)$this->dbPort, null, $this->dbClientFlags);
7980
$try = 0;
80-
while((!is_object($this->_iConnId) || mysqli_connect_error()) && $try < 5) {
81+
while($this->_iConnId->connect_error && $try < 5) {
8182
if($try > 0) sleep(1);
8283

8384
$try++;
84-
$this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort);
85+
$this->_iConnId->real_connect($this->dbHost, $this->dbUser, $this->dbPass, null, (int)$this->dbPort, null, $this->dbClientFlags);
8586
}
8687

87-
if(!is_object($this->_iConnId) || mysqli_connect_error()) {
88+
if($this->_iConnId->connect_error) {
8889
$this->_iConnId = null;
8990
$this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!');
9091
return false;

server/lib/classes/db_mysql.inc.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,17 @@ public function __construct($host = NULL , $user = NULL, $pass = NULL, $database
7676
$this->dbNewLink = $conf['db_new_link'];
7777
$this->dbClientFlags = $conf['db_client_flags'];
7878

79-
$this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort);
79+
$this->_iConnId = mysqli_init();
80+
$this->_iConnId->real_connect($this->dbHost, $this->dbUser, $this->dbPass, null, (int)$this->dbPort, null, $this->dbClientFlags);
8081
$try = 0;
81-
while((!is_object($this->_iConnId) || mysqli_connect_error()) && $try < 5) {
82+
while($this->_iConnId->connect_error && $try < 5) {
8283
if($try > 0) sleep(1);
8384

8485
$try++;
85-
$this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort);
86+
$this->_iConnId->real_connect($this->dbHost, $this->dbUser, $this->dbPass, null, (int)$this->dbPort, null, $this->dbClientFlags);
8687
}
8788

88-
if(!is_object($this->_iConnId) || mysqli_connect_error()) {
89+
if($this->_iConnId->connect_error) {
8990
$this->_iConnId = null;
9091
$this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!', '', true);
9192
return false;

0 commit comments

Comments
 (0)