Maison  >  Article  >  développement back-end  >  php 连接 sqlserver

php 连接 sqlserver

WBOY
WBOYoriginal
2016-06-23 14:34:231116parcourir

引用: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";

               }

      ?>

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:PHP __call()方法Article suivant:Using WCF Services with PHP