]> git.mxchange.org Git - friendica.git/commitdiff
DBA: Do a fallback to other db functions on problems
authorMichael <heluecht@pirati.ca>
Wed, 9 Aug 2017 06:02:48 +0000 (06:02 +0000)
committerMichael <heluecht@pirati.ca>
Wed, 9 Aug 2017 06:02:48 +0000 (06:02 +0000)
include/dba.php

index c2ae78c0f79fef97365606a8eec21fea9690e27e..91d9d5951849829c8e87a3cf99bf67d294943adf 100644 (file)
@@ -81,7 +81,9 @@ class dba {
                        } catch (PDOException $e) {
                                $this->connected = false;
                        }
-               } elseif (class_exists('mysqli')) {
+               }
+
+               if (!$this->connected && class_exists('mysqli')) {
                        $this->driver = 'mysqli';
                        $this->db = @new mysqli($server, $user, $pass, $db, $port);
                        if (!mysqli_connect_errno()) {
@@ -91,7 +93,9 @@ class dba {
                                        $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->db = mysql_connect($serveraddr, $user, $pass);
                        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);
                                }
                        }
-               } else {
-                       // No suitable SQL driver was found.
-                       if (!$install) {
-                               system_unavailable();
-                       }
                }
 
+               // No suitable SQL driver was found.
                if (!$this->connected) {
                        $this->db = null;
                        if (!$install) {