php連接sql server的五種方法小結


參考php手冊,對php連接sql server系列做出個小結。主要有五種方式:

一、通過mssql_系列函數,主要針對php5.3以下的版本和sqlserver2000及以上版本使用。在php.ini中將;extension=php_mssql.dll;extension=php_msql.dll;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分號去掉。

二、通過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.dll
extension=php_sqlsrv_53_ts.dll

重啟apache,查看phpinfo(),確保apache已經支持sqlsrv。如下圖所示:

 

 

 

 

並且安裝sqlncli.msi,這個文件是協助windows環境訪問sql server所在的數據庫服務器的

三、通過odbc方式連接sqlserver系列。需要在php.ini中開啟odbc系列擴展。在phpinfo函數中看到

四、通過PDO方式連接sqlserver。在php.ini中開啟PDO擴展。在phpinfo中可查看

五、通過COM方式連接。

下面是實現代碼:

<?php

// $serverName = "localhost";
// $connectionInfo = array( "Database"=>"JXC_ERP", "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/>";}

$con = odbc_connect('JXC_ERP','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/>';
}


// $server ="localhost";  //服務器IP地址,如果是本地,可以寫成localhost
// $uid ="sa";  //用戶名
// $pwd ="123456"; //密碼
// $database ="JXC_ERP";  //數據庫名稱
 
////進行數據庫連接
// $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>";
// }

 

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

//$conn = new Com("ADODB.Connection"); //實例化一個Connection對象 
//$connstr = "provider=sqloledb;datasource=.;uid=sa;pwd=123456;database=JXC_ERP;"; 
//$conn->Open($connstr); 
//$rs = new Com("ADODB.Recordset"); //實例化一個Recordcount對象 

//$rs->Open('select * from CKXS2 ', $conn, 1, 1); 
//$count = $rs->RecordCount; 
//echo "共有{$count}條紀錄<br />"; 
?>

 

本文轉載至:http://www.cnblogs.com/weblm/p/5317664.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM