參考php手冊,對php連接sql server系列做出個小結(jié)。主要有五種方式:
一、通過mssql_系列函數(shù)
mssql_系列函數(shù)主要針對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"; //服務(wù)器IP地址,如果是本地,可以寫成localhost $uid ="sa"; //用戶名 $pwd ="123456"; //密碼 $database ="jb51net"; //數(shù)據(jù)庫名稱 ////進行數(shù)據(jù)庫連接 $conn =mssql_connect($server,$uid,$pwd) or die ("connect failed"); mssql_select_db($database,$conn); ////執(zhí)行查詢語句 $query ="select * from A_PHP"; $row =mssql_query($query); ////打印輸出查詢結(jié)果 while($list=mssql_fetch_array($row)) { print_r($list); echo "br>"; } ?>
二、通過sqlsrv_系列函數(shù)
sqlsrv_系列函數(shù)主要針對php5.3以上的版本和sql server 2005以上版本使用。
需要下載安裝Microsoft Drivers for PHP for SQL Server驅(qū)動,地址:https://msdn.microsoft.com/library/dn865013.aspx。下載后解壓放到php對應(yīng)的ext目錄下。然后打開php.ini文件,在extension 后面添加一下配置
extension=php_pdo_sqlsrv_53_ts.dll
extension=php_sqlsrv_53_ts.dll
重啟apache,查看phpinfo(),確保apache已經(jīng)支持sqlsrv。如下圖所示:
并且安裝sqlncli.msi,這個文件是協(xié)助windows環(huán)境訪問sql server所在的數(shù)據(jù)庫服務(wù)器的
?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方式連接。
下面是實現(xiàn)代碼:
?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 />"; ?>