1
0
mirror of https://github.com/vrana/adminer.git synced 2025-08-20 21:31:44 +02:00

MS SQL: Common parent for PDO Db

This commit is contained in:
Jakub Vrana
2025-03-24 14:11:25 +01:00
parent b86a9cb5fb
commit 3bc675b0fc

View File

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