在PHP中连接SQL Server数据库有多种方法,以下是五种常见的方式:
sqlsrv
扩展sqlsrv
是微软官方提供的用于连接 SQL Server 的 PHP 扩展。它提供了丰富的功能来与 SQL Server 进行交互。
$serverName = "serverName\sqlexpress"; // 服务器名称
$connectionOptions = array(
"Database" => "dbName", // 数据库名称
"Uid" => "username", // 用户名
"PWD" => "password" // 密码
);
// 建立连接
$conn = sqlsrv_connect($serverName, $connectionOptions);
if ($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
PDO
扩展PDO
(PHP Data Objects) 是一个数据库访问抽象层,支持多种数据库,包括 SQL Server。
$serverName = "serverName\sqlexpress"; // 服务器名称
$dbName = "dbName"; // 数据库名称
$username = "username"; // 用户名
$password = "password"; // 密码
try {
$conn = new PDO("sqlsrv:Server=$serverName;Database=$dbName", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("Connection failed: " . $e->getMessage());
}
mssql
扩展(已弃用)mssql
扩展是早期 PHP 版本中用于连接 SQL Server 的扩展,但在 PHP 5.3 之后已被弃用,不建议在新项目中使用。
$serverName = "serverName\sqlexpress"; // 服务器名称
$dbName = "dbName"; // 数据库名称
$username = "username"; // 用户名
$password = "password"; // 密码
$conn = mssql_connect($serverName, $username, $password);
if (!$conn) {
die("Connection failed: " . mssql_get_last_message());
}
mssql_select_db($dbName, $conn);
odbc
扩展odbc
扩展允许通过 ODBC 连接字符串连接到 SQL Server。
$dsn = "Driver={SQL Server};Server=serverName\sqlexpress;Database=dbName;";
$username = "username"; // 用户名
$password = "password"; // 密码
$conn = odbc_connect($dsn, $username, $password);
if (!$conn) {
die("Connection failed: " . odbc_errormsg());
}
dblib
扩展(FreeTDS)dblib
扩展通常与 FreeTDS 一起使用,用于连接 SQL Server。
$serverName = "serverName\sqlexpress"; // 服务器名称
$dbName = "dbName"; // 数据库名称
$username = "username"; // 用户名
$password = "password"; // 密码
$conn = mssql_connect($serverName, $username, $password);
if (!$conn) {
die("Connection failed: " . mssql_get_last_message());
}
mssql_select_db($dbName, $conn);
sqlsrv
:推荐使用,功能丰富,官方支持。PDO
:跨数据库兼容性好,推荐使用。mssql
:已弃用,不推荐使用。odbc
:适用于需要通过 ODBC 连接的情况。dblib
:适用于 FreeTDS 环境。根据项目需求和环境选择合适的连接方式。