DBA: Do a fallback to other db functions on problems

This commit is contained in:
Michael 2017-08-09 06:02:48 +00:00
parent 4d77c8a90a
commit b01ab3e64c

View file

@ -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) {