关于php连接sql server 2008的问题,2000的版本可以直接通过php中的配置文件修改,2005以上的版本就不行了,需要使用微软公司提供的驱动(sql server driver for php)。
sql server driver for php下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098
1. 下载驱动程序;下载完成后安装释放程序,里面有以下文件:
php_pdo_sqlsrv_52_nts.dll
php_pdo_sqlsrv_52_ts.dll
php_pdo_sqlsrv_53_nts_vc6.dll
php_pdo_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc9.dll
php_sqlsrv_52_nts.dll
php_sqlsrv_52_ts.dll
php_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc6.dll
php_sqlsrv_53_ts_vc9.dll
SQLServerDriverForPHP.chm
SQLServerDriverForPHP_License.rtf
SQLServerDriverForPHP_Readme.htm(自述文件)
关于VC6和VC9的区别
VC6 版本是使用 Visual Studio 6 编译器编译的,如果你是在windows下使用Apache+PHP的,请选择VC6版本。
VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你是在windows下使用IIS+PHP的,请选择VC9版本。
本文章php测试环境:WAMP5环境包;
1. 将sql server driver for php驱动解压到php文件中的ext文件夹中(因为电脑系统是XP的,所以下载了2.0的版本)。
2. 在配置文件PHP.INI文件中的Extensions后面加上:
extension=php_sqlsrv_53_ts.dll
extension=php_pdo_sqlsrv_53_ts.dll
注意:这里要根据你的php版本来填写,如果你的版本是5.2的就是输入
extension=php_sqlsrv_52_ts.dll
extension=php_pdo_sqlsrv_52_ts.dll
3. 再重启Apache服
4. 最后测试一下是否成功,在PHP中执行phpinfo()的查看sqlsrv、看图画红线处、如图所示这样就表示连接成功了!!
测试代码:
<?php
echo "=============================连接MSSQLServer测试======================"."<br/>";
$serverName = "localhost"; //数据库服务器地址
$uid = "sa"; //数据库用户名
$pwd = "sasa"; //数据库密码
$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"ReportServer","CharacterSet"=>"UTF-8");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
echo "连接失败!";
die( print_r( sqlsrv_errors(), true));
}
//执行有结果集的SQL语句
$query = sqlsrv_query($conn, "select * from Roles");
while($row = sqlsrv_fetch_array($query))
{
echo $row[0]." ".$row[1]." ".$row[2]." ".$row[3]."<br/>";
}
?>
输出结果:
=============================连接MSSQLServer测试======================
585B1159-FF20-4BFC-A764-5FC4F05B9942 内容管理员 可以管理报表服务器中的内容,包括文件夹、报表和资源。 1111111111111111
FF555BDA-FF75-4B9C-BD38-E3A93AF427F8 发布者 可以将报表和链接报表发布到报表服务器。 0101010100001010
C7DBE13B-51D1-4E6B-BC0C-17CE2FA53B39 我的报表 可以发布报表和链接报表;管理用户的“我的报表”文件夹中的文件夹、报表和资源。 0111111111011000
16377601-45ED-4F0D-9541-83E961F115A8 报表生成器 可以查看报表定义。 0010101001000101
6D48AA6A-202B-45F5-BFA8-92F4BCAB3E48 模型项浏览者 允许用户查看特定模型中的模型项。 1
F381B799-6C74-42BF-BF1D-5802F0492EDE 浏览者 可以查看文件夹、报表和订阅报表。 0010101001000100
0D9CEF04-49CC-46BD-9F2A-09E4D617305B 系统用户 查看系统属性和共享计划,并允许使用报表生成器或执行报表定义的其他客户端。 001010001
13E1A6A2-82F8-46A4-8501-CC252AD7D39F 系统管理员 查看和修改系统角色分配、系统角色定义、系统属性和共享计划。 110101011
上述方法是针对php5.2版本的,其余版本还没有尝试,希望对新手朋友们有点帮助