From 3bc675b0fc34ee2cbc160a06e1de84ca243b3e0a Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Mon, 24 Mar 2025 14:11:25 +0100 Subject: [PATCH] MS SQL: Common parent for PDO Db --- adminer/drivers/mssql.inc.php | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/adminer/drivers/mssql.inc.php b/adminer/drivers/mssql.inc.php index 2df08f79..c26c323e 100644 --- a/adminer/drivers/mssql.inc.php +++ b/adminer/drivers/mssql.inc.php @@ -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; + } } } }