]> git.joonet.de Git - adminer.git/commitdiff
MS SQL: Common parent for PDO Db
authorJakub Vrana <jakub@vrana.cz>
Mon, 24 Mar 2025 13:11:25 +0000 (14:11 +0100)
committerJakub Vrana <jakub@vrana.cz>
Mon, 24 Mar 2025 13:11:25 +0000 (14:11 +0100)
adminer/drivers/mssql.inc.php

index 2df08f791dd85ac6c4f0503d2d8fba39698b8fb5..c26c323e6e506f3db956647d6a14b11c93f521ef 100644 (file)
@@ -156,32 +156,32 @@ if (isset($_GET["mssql"])) {
                        }
                }
 
-       } elseif (extension_loaded("pdo_sqlsrv")) {
-               class Db extends PdoDb {
-                       public $extension = "PDO_SQLSRV";
-
-                       function connect($server, $username, $password) {
-                               $this->dsn("sqlsrv:Server=" . str_replace(":", ",", $server), $username, $password);
-                               return true;
-                       }
-
+       } else {
+               class MssqlDb extends PdoDb {
                        function select_db($database) {
                                // database selection is separated from the connection so dbname in DSN can't be used
                                return $this->query(use_sql($database));
                        }
                }
 
-       } elseif (extension_loaded("pdo_dblib")) {
-               class Db extends PdoDb {
-                       public $extension = "PDO_DBLIB";
+               if (extension_loaded("pdo_sqlsrv")) {
+                       class Db extends MssqlDb {
+                               public $extension = "PDO_SQLSRV";
 
-                       function connect($server, $username, $password) {
-                               $this->dsn("dblib:charset=utf8;host=" . str_replace(":", ";unix_socket=", preg_replace('~:(\d)~', ';port=\1', $server)), $username, $password);
-                               return true;
+                               function connect($server, $username, $password) {
+                                       $this->dsn("sqlsrv:Server=" . str_replace(":", ",", $server), $username, $password);
+                                       return true;
+                               }
                        }
 
-                       function select_db($database) {
-                               return $this->query(use_sql($database));
+               } elseif (extension_loaded("pdo_dblib")) {
+                       class Db extends MssqlDb {
+                               public $extension = "PDO_DBLIB";
+
+                               function connect($server, $username, $password) {
+                                       $this->dsn("dblib:charset=utf8;host=" . str_replace(":", ";unix_socket=", preg_replace('~:(\d)~', ';port=\1', $server)), $username, $password);
+                                       return true;
+                               }
                        }
                }
        }