PHP连接SQLServer 2005:配置与示例

4星 · 超过85%的资源 需积分: 9 9 下载量 156 浏览量 更新于2024-09-20 收藏 27KB DOC 举报
"这篇文章主要讲解了如何在PHP环境中连接到SQL Server 2005数据库,涉及的关键技术包括PHP的SQL Server扩展、Windows验证、参数绑定以及FastCGI组件的使用。" 在PHP开发中,有时我们需要连接到SQL Server 2005数据库来执行查询和管理数据。PHP连接SQL Server 2005的关键在于安装和配置适当的扩展。SQL Server 2005 PHP 驱动是一个PHP扩展,它允许开发者在PHP5中无缝地访问SQL Server 2005和SQL Server 2000数据库。此扩展支持多种功能,包括Windows身份验证、参数绑定(预处理语句)、大对象流处理、原始数据访问和错误处理。 配置步骤如下: 1. 扩展文件放置:首先,你需要将`php_sqlsrv.dll`或`php_sqlsrv_ts.dll`(对于线程安全版本)文件复制到PHP安装目录下的`EXT`子目录。这些动态链接库文件是PHP连接SQL Server所需的。 2. 修改php.ini:接着,打开`php.ini`配置文件,添加以下行以启用SQL Server扩展: ``` extension=php_sqlsrv.dll ``` 或者,如果你使用的是线程安全版本的PHP: ``` extension=php_sqlsrv_ts.dll ``` 3. 重启服务器:完成上述配置后,你需要重启服务器以使改动生效。 示例代码: 下面的PHP代码展示了如何建立到SQL Server的连接,并执行一个简单的查询: ```php <?php $dbbase = 'testlab'; // 数据库名 $uid = 'sa'; // 用户名 $pwd = 'infobus'; // 密码 $connectionInfo = array( "Database" => $dbbase, "UID" => $uid, "PWD" => $pwd ); $serverName = "JUJUMAOEXPRESS"; // 服务器名称 // 连接数据库 if (!($conn = sqlsrv_connect($serverName, $connectionInfo))) { echo "连接无法建立。"; die(print_r(sqlsrv_errors(), true)); } // 执行查询 $tSQL = "SELECT login_mail FROM account"; if (!($stmt = sqlsrv_query($conn, $tSQL))) { echo "语句错误。"; die(print_r(sqlsrv_errors(), true)); } // 获取数据 if (!(sqlsrv_fetch($stmt))) { echo "获取行时出错。"; die(print_r(sqlsrv_errors(), true)); } $loginmail = sqlsrv_get_field($stmt, 0); // 获取查询结果中的字段 sqlsrv_free_stmt($stmt); // 释放语句资源 sqlsrv_close($conn); // 关闭数据库连接 ?> ``` 在这个示例中,我们创建了一个连接数组,包含了数据库名、用户名和密码。然后,通过`sqlsrv_connect()`函数连接到SQL Server,如果连接失败,程序会打印错误信息并终止。接着,我们定义了一个SQL查询并执行,如果查询过程中发生错误,同样会打印错误信息。最后,我们从查询结果中获取数据,并释放资源,关闭数据库连接。 FastCGI for IIS: 在Windows环境下,通常使用IIS作为Web服务器,配合FastCGI组件可以提高PHP应用的性能和稳定性。FastCGI是一种协议,用于在Web服务器(如IIS)和长寿命进程(如PHP解释器)之间通信,它能够避免每次请求都启动新的PHP进程,从而减少资源消耗和提高响应速度。 通过安装正确的PHP扩展、配置php.ini和使用FastCGI,开发者可以在PHP中高效地与SQL Server 2005进行交互,实现数据的存取和管理。