PHP 连接 SQL Server 2005 配置与代码示例
本文将详细阐述在经典 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 相关的扩展模块。
- 找到你的 PHP 安装目录下的
php.ini配置文件。 - 搜索
extension=php_mssql.dll。 - 移除该行前面的分号
;以取消注释,使其生效。 - 在同一文件中,找到
mssql.secure_connection设置。 - 将其值从
Off修改为On,即:mssql.secure_connection = On。
第二步:下载并部署必要的 DLL 文件
SQL Server 2005 默认使用较新的协议栈,而旧版 PHP 依赖的底层库需要特定版本的 ntwdblib.dll 才能正确通信。我们需要获取版本号为 2000.80.194.0 的 ntwdblib.dll 文件。
- 获取文件:下载针对 SQL Server 2005 连接的专用
ntwdblib.dll(版本号 2000.80.194.0)。 - 部署 mssql 扩展:进入 PHP 的扩展目录,通常路径为
X:\AppServ\php5\ext(具体路径请根据你的安装环境调整)。 - 复制文件:
- 将
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 数据库操作的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









