插件窝 干货文章 php连接sqlserver五种方法是什么

php连接sqlserver五种方法是什么

serverName username password 扩展 102    来源:    2025-03-18

在PHP中连接SQL Server数据库有多种方法,以下是五种常见的方式:

1. 使用 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));
}

2. 使用 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());
}

3. 使用 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);

4. 使用 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());
}

5. 使用 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 环境。

根据项目需求和环境选择合适的连接方式。