Heim  >  Artikel  >  Backend-Entwicklung  >  php 连接 sqlserver

php 连接 sqlserver

WBOY
WBOYOriginal
2016-06-23 14:34:231116Durchsuche

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

               }

      ?>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP __call()方法Nächster Artikel:Using WCF Services with PHP