PHP 连接 SQL Server 2005 配置与代码示例

小石头
小石头
发布时间:2026-10-14 | 4人浏览过
原创

本文将详细阐述在经典 PHP 环境(如 PHP 5.x)中,如何通过启用 php_mssql 扩展并替换底层客户端库文件 ntwdblib.dll,实现对 SQL Server 2005 数据库的连接与基本操作。文中包含具体的配置文件修改、文件部署路径说明以及基于 mssql_connect 函数的标准连接代码示例。

前置准备与风险提示

重要提示:以下方法适用于较老旧的 PHP 版本(主要是 PHP 5.x 系列)。在现代开发中,微软官方推荐使用 PDO_DBLIB 或 SQLSRV 驱动,且 php_mssql 扩展已被废弃。若您在生产环境中使用此方法,请确保服务器安全性已得到充分评估,并建议尽快迁移至新版驱动。

操作前请务必备份当前的 php.ini 配置文件及相关 DLL 文件,以防配置错误导致 Web 服务无法启动。

第一步:启用 php_mssql 扩展

首先需要确保 PHP 能够加载 MSSQL 相关的扩展模块。

  1. 找到你的 PHP 安装目录下的 php.ini 配置文件。
  2. 搜索 extension=php_mssql.dll。
  3. 移除该行前面的分号 ; 以取消注释,使其生效。
  4. 在同一文件中,找到 mssql.secure_connection 设置。
  5. 将其值从 Off 修改为 On,即:mssql.secure_connection = On。

第二步:下载并部署必要的 DLL 文件

SQL Server 2005 默认使用较新的协议栈,而旧版 PHP 依赖的底层库需要特定版本的 ntwdblib.dll 才能正确通信。我们需要获取版本号为 2000.80.194.0 的 ntwdblib.dll 文件。

  1. 获取文件:下载针对 SQL Server 2005 连接的专用 ntwdblib.dll (版本号 2000.80.194.0)。
  2. 部署 mssql 扩展:进入 PHP 的扩展目录,通常路径为 X:\AppServ\php5\ext(具体路径请根据你的安装环境调整)。
  3. 复制文件:
    • 将 ext 目录下的 php_mssql.dll 复制到系统根目录的 System32 文件夹下。
    • 将下载得到的专用 ntwdblib.dll 也复制到 System32 目录下,覆盖或替换原有文件。
    • 同样将 ntwdblib.dll 复制到你的 PHP 主安装目录(例如 X:\AppServ\php5)中。

第三步:重启 Web 服务

完成上述文件替换和配置修改后,必须重启 Apache 服务(或其他使用的 Web 服务器),使 PHP 重新加载配置并生效。

第四步:验证连接

创建一个 PHP 测试脚本,使用 mssql_connect 函数尝试连接数据库。以下是标准的连接与查询示例代码:

<?php
// 连接数据库服务器
// 参数分别为:主机地址:端口, 用户名, 密码
$conn = mssql_connect('192.168.1.100,1433', 'sa', 'your_password');

if (!$conn) {
    die('连接失败: ' . mssql_get_last_message());
}

// 选择目标数据库
mssql_select_db('HR', $conn);

// 执行查询
$query = "SELECT * FROM Class";
$result = mssql_query($query);

// 获取结果行数
$number = mssql_num_rows($result);

// 遍历并输出数据
for ($i = 0; $i < $number; $i++) {
    $row = mssql_fetch_array($result);
    echo $row[1] . '<br />';
}
?

如果页面正常输出数据库内容而无报错,则说明 PHP 已成功连接至 SQL Server 2005。以上就是 PHP 连接 SQL Server 2005 的详细配置方法与代码示例,更多关于 PHP 数据库操作的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表