Merge pull request #3619 from annando/dba-connect
DBA: Do a fallback to other db functions on problems
This commit is contained in:
commit
95679c470c
|
@ -81,7 +81,9 @@ class dba {
|
||||||
} catch (PDOException $e) {
|
} catch (PDOException $e) {
|
||||||
$this->connected = false;
|
$this->connected = false;
|
||||||
}
|
}
|
||||||
} elseif (class_exists('mysqli')) {
|
}
|
||||||
|
|
||||||
|
if (!$this->connected && class_exists('mysqli')) {
|
||||||
$this->driver = 'mysqli';
|
$this->driver = 'mysqli';
|
||||||
$this->db = @new mysqli($server, $user, $pass, $db, $port);
|
$this->db = @new mysqli($server, $user, $pass, $db, $port);
|
||||||
if (!mysqli_connect_errno()) {
|
if (!mysqli_connect_errno()) {
|
||||||
|
@ -91,7 +93,9 @@ class dba {
|
||||||
$this->db->set_charset($a->config["system"]["db_charset"]);
|
$this->db->set_charset($a->config["system"]["db_charset"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} elseif (function_exists('mysql_connect')) {
|
}
|
||||||
|
|
||||||
|
if (!$this->connected && function_exists('mysql_connect')) {
|
||||||
$this->driver = 'mysql';
|
$this->driver = 'mysql';
|
||||||
$this->db = mysql_connect($serveraddr, $user, $pass);
|
$this->db = mysql_connect($serveraddr, $user, $pass);
|
||||||
if ($this->db && mysql_select_db($db, $this->db)) {
|
if ($this->db && mysql_select_db($db, $this->db)) {
|
||||||
|
@ -101,13 +105,9 @@ class dba {
|
||||||
mysql_set_charset($a->config["system"]["db_charset"], $this->db);
|
mysql_set_charset($a->config["system"]["db_charset"], $this->db);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
// No suitable SQL driver was found.
|
|
||||||
if (!$install) {
|
|
||||||
system_unavailable();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// No suitable SQL driver was found.
|
||||||
if (!$this->connected) {
|
if (!$this->connected) {
|
||||||
$this->db = null;
|
$this->db = null;
|
||||||
if (!$install) {
|
if (!$install) {
|
||||||
|
|
Loading…
Reference in a new issue