php连接MSsql server的五种方法总结
author:一佰互联 2019-04-25   click:176

参考php手册,对php连接sql server系列做出个小结。主要有五种方式:

一、通过mssql_系列函数

mssql_系列函数主要针对php5.3以下的版本和sqlserver2000及以上版本使用。

在php.ini中将;extension=php_mssql.dll;extension=php_msql.dll;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分号去掉。

<?php $server ="localhost"; //服务器IP地址,如果是本地,可以写成localhost $uid ="sa"; //用户名 $pwd ="123456"; //密码 $database ="jb51net"; //数据库名称 ////进行数据库连接 $conn =mssql_connect($server,$uid,$pwd) or die ("connect failed"); mssql_select_db($database,$conn); ////执行查询语句 $query ="select * from A_PHP"; $row =mssql_query($query); ////打印输出查询结果 while($list=mssql_fetch_array($row)) {    print_r($list);    echo "<br>"; }?>

二、通过sqlsrv_系列函数

sqlsrv_系列函数主要针对php5.3以上的版本和sql server 2005以上版本使用。

需要下载安装Microsoft Drivers for PHP for SQL Server驱动,地址:https://msdn.microsoft.com/library/dn865013.aspx。下载后解压放到php对应的ext目录下。然后打开php.ini文件,在extension 后面添加一下配置

extension=php_pdo_sqlsrv_53_ts.dllextension=php_sqlsrv_53_ts.dll

重启apache,查看phpinfo(),确保apache已经支持sqlsrv。如下图所示:

 

并且安装sqlncli.msi,这个文件是协助windows环境访问sql server所在的数据库服务器的

<?php $serverName = "localhost"; $connectionInfo = array( "Database"=>"jb51net", "UID"=>"sa", "PWD"=>"123456"); $conn = sqlsrv_connect( $serverName, $connectionInfo ); if( $conn === false ) {   die( print_r( sqlsrv_errors(), true)); } $sql = "SELECT * FROM dbo.A_PHP"; $stmt = sqlsrv_query( $conn, $sql ); if( $stmt === false) {   die( print_r( sqlsrv_errors(), true) ); } while($row = sqlsrv_fetch_array($stmt)) {echo $row[0]."-----".$row[1]."<br/>";}?>

三、通过odbc方式连接sqlserver系列

需要在php.ini中开启php_pdo_odbc.dll扩展。

<?php$con = odbc_connect("DRIVER={SQL Server};SERVER=localhost;DATABASE=jb51net,"sa","123456");$query = "SELECT * FROM dbo.A_PHP";$result = odbc_do($con,$query);while(odbc_fetch_row($result)){  $list = odbc_result($result, "id");	print_r($list);echo "<br/>";}?>

四、通过PDO方式连接sqlserver

在php.ini中开启php_pdo_mssql.dll扩展。在phpinfo中可查看

<?php $conn = new PDO("sqlsrv:server=localhost;database=jb51net","sa","123456"); $sql = "select count(*) count from CKXS2"; $res = $conn->query($sql); while ($row = $res->fetch()){ print_r($row); }?>

五、通过COM方式连接。

下面是实现代码:

<?php $conn = new Com("ADODB.Connection"); //实例化一个Connection对象  $connstr = "provider=sqloledb;datasource=.;uid=sa;pwd=123456;database=jb51net;";  $conn->Open($connstr);  $rs = new Com("ADODB.Recordset"); //实例化一个Recordcount对象  $rs->Open("select * from CKXS2 ", $conn, 1, 1);  $count = $rs->RecordCount;  echo "共有{$count}条纪录<br />"; ?>