龍巖易富通網(wǎng)絡(luò)科技有限公司

龍巖小程序開(kāi)發(fā),龍巖分銷(xiāo)系統(tǒng)

PHP5.3.X連接MSSQL數(shù)據(jù)庫(kù)

2015.09.10 | 675閱讀 | 0條評(píng)論 | php

windows系統(tǒng)下,PHP5.3以上的版本已經(jīng)不支持mssql擴(kuò)展,所以如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下載微軟提供的The SQL Server Driver for PHP。這是一個(gè)自解壓文件,解壓后會(huì)得到以下幾個(gè)文件:


php_sqlsrv_52_nts_vc6.dll

php_sqlsrv_52_ts_vc6.dll

php_sqlsrv_53_nts_vc6.dll

php_sqlsrv_53_nts_vc9.dll

php_sqlsrv_53_ts_vc6.dll

php_sqlsrv_53_ts_vc9.dll

php_sqlsrv_license.rtf


SQLServerDriverForPHP.chm


SQLServerDriverForPHP_Readme.htm

其中,52,53表示PHP的5.2.X和5.3.X的版本;nts表示非線和安全,ts表示線程安全;vc6表示使用Apache作為Web Server,vc9表示使用IIS作為Web Server。

根據(jù)您的配置,將相應(yīng)的DLL文件拷貝到php安裝目錄的ext文件夾中,接下來(lái)打開(kāi)php.ini,添加以下語(yǔ)句打開(kāi)php_sqlsrv和php_pdo_sqlsrv擴(kuò)展:

——————————————————–

[PHP_PDO_SQLSRV]

extension=php_pdo_sqlsrv_53_ts_vc6.dll

[PHP_SQLSRV]

extension=php_sqlsrv_53_ts_vc6.dll

—————————————————


這里的53表示的是php5.3,如果你的是5.2版,就改成52,如果你的PHP版本是線程安全的,那么你的PHP安裝目錄下應(yīng)該有一個(gè)php5ts.dll,與這里的兩行語(yǔ)句對(duì)應(yīng),如果是php5nts.dll,那么上面的語(yǔ)句應(yīng)該是:

—————————————————————-

[PHP_PDO_SQLSRV]

extension=php_pdo_sqlsrv_53_nts_vc6.dll

[PHP_SQLSRV]

extension=php_sqlsrv_53_nts_vc6.dll

—————————————————-


壓縮包里有各個(gè)版本對(duì)于的dll文件,大家可以去仔細(xì)核查。


開(kāi)啟擴(kuò)展后,重啟apache,這樣就可以連接sqlserver了,但是還有一點(diǎn)要注意,如果你沒(méi)有安裝Microsoft SQL Server 2008 R2 Native Client,必須去http://msdn.microsoft.com/en-us/library/cc296170(SQL.90).aspx下載安裝,因?yàn)槲④浀倪@個(gè)擴(kuò)展包需要這個(gè)支持。


一切妥當(dāng)之后,就可以寫(xiě)php代碼了,如果你下載了The SQL Server Driver for PHP,那么在解壓縮后的文件夾里有一個(gè)幫助文檔,你可以很容易的找到示例,在這里站長(zhǎng)介紹一個(gè)簡(jiǎn)單的例子:

<?php

//本地測(cè)試的服務(wù)名

$serverName = "(127.0.0.1)";

//使用sql server身份驗(yàn)證,參數(shù)使用數(shù)組的形式,一次是用戶名,密碼,數(shù)據(jù)庫(kù)名

//如果你使用的是windows身份驗(yàn)證,那么可以去掉用戶名和密碼

$connectionInfo = array( "UID"=>"root",

"PWD"=>"root2010″,

"Database"=>"master");


$conn = sqlsrv_connect( $serverName, $connectionInfo);


if( $conn )

{

echo "Connection established.\n";

}

else

{

echo "Connection could not be established.\n";

die( print_r( sqlsrv_errors(), true));

}

?>


如果連接不成功,重啟sql server再試。


贊 (

發(fā)表評(píng)論