Heim >Backend-Entwicklung >PHP-Tutorial >php 连接 sqlserver
引用:http://hi.baidu.com/coyeah/blog/item/c8ff20fab1f25d17a9d31129.html
一:环境搭建
sqlserver2005或者sqlserver2008
请先到此处下载驱动
http://www.microsoft.com/downloads/details.aspx?FamilyId=61BF87E0-D031-466B-B09A-6597C21A2E2A&displaylang=en
下载后解压文件
配置:
1.将解压的php_sqlsrv.dll 和 php_sqlsrv_ts.dll 放到PHP的扩展目录中(PHP\EXT)。
2.编辑php.ini文件(在windows文件夹下),添加以下扩展:
extension=php_sqlsrv.dll
extension=php_sqlsrv_ts.dll
3.去掉;extension=php_mssql.dll前的分号
注意=号右边是解开过后的扩展的两个驱动的文件名,必须保证此文件在配置好的扩展目录内,而且需要注意此处最初不需要带";"。";"在php.ini文件里面,首部分号的含义代表行注释,如果有分号的时候,服务器在读取配置的时候会略过分号这一行不去读取相关内容,只有没有加分号的行才会被服务器读取。
这里解释一下,两个驱动程序的区别在于,php_sqlsrv_ts.dll是线程安全的驱动,如果服务器本身的环境是使用的php5ts.dll,就是用这个驱动;php_sqlsrv.dll不是线程 安全的,这种情况下,服务器运行PHP应该加载的是php5.dll
4测试配置环境:
整个过程操作好了过后,写一个test.php测试一下配置的相关环境,测试代码如下:
phpinfo();
?>
若出现以下图片证明环境已经配置好了:
二:连接测试
SQL Server常用的有两种认证方式,一种是本地系统账户认证(Windows Authentication ),一种是使用用户名和密码(SQL Server Authentication ),第二种认证方式必须启用SQL Server的混合模式。
1.Windows Authentication连接部分代码段:
$serverName = "(local)";
$connectionInfo = array("Database"=>"TestingInfo","ConnectionPooling"=>false);
$conn = sqlsrv_connect( $serverName,$connectionInfo);
if(! $conn){
echo "o no!!!!!";
die( print_r( sqlsrv_errors(), true));
}else{
echo "yes done";
}
?>
2.SQL Server Authentication连接部分代码段:
$serverName = "(local)";
$uid = "dbusername";//数据库用户名
$pwd = "dbuserpass";//数据库用户密码
//下面的Database为数据库名
$connectionInfo = array("UID"=>$uid,"PWD"=>$pwd,"Database"=>"dbname");
$conn = sqlsrv_connect( $serverName,$connectionInfo);
if(! $conn){
echo "o no!!!!!!!";
die( print_r( sqlsrv_errors(), true));
}else{
echo "yes done";
}
?>