㈠ php連sqlserver2008 r2需要什麼版本的ntwdblib.dll
版本的選擇是依據php版本決定的,具體如下:
一、php5.3以下的版本連接sql server
5.3以下的版本擴展裡面自帶一個php_mssql.dll;接資料庫的擴展,可以利用這個擴展鏈接資料庫,(只限於鏈接低版本資料庫)。
具體的步驟如下:
1:首先安裝sql server,超級不好安裝,我之前安裝的是2008版本的,Windows過期後就不能用了,然後重裝還裝不上,最後重裝系統才裝上
2:確定SQL裝的時候用的是混合認證模式,或SQL驗證模式,然後打開php的配置文件(php.ini),開啟mssql擴展 (extension=php_pdo_mssql.dll前面的分號去掉)並且需要把mssql.secure_connection = On 重啟後生效。
如果比較順利的話已經可以連接資料庫了,如果連不上就需要繼續低下的配置:
3: 檢查ntwdblib文件的版本(php/下面和Apache/下面)下載正確的版本的 ntwdblib.dll(2000.80.194.0)覆蓋現有的DLL文件,(把ntwdblib.dll,php_mssql.dll 復制到system32目錄中也可以)ntwdblib.dll 用於PHP連接MSSQL2005或2008的驅動文件。
4:測試連接:mssql_connect('localhost,1433', '用戶名', '密碼');
二、php5.3+連接sql server
其 實5.3以下的php版本已經很少用了,況且安全性和兼容性都不好,所以高版本的php還是比較常見的。實踐證明低版本的php連接資料庫成功率比較低 (2005以上的版本幾乎不能使用),推薦使用php5.3+ php使用微軟專門的擴展 SQLSRV 來連接sqlserver資料庫
步驟如下:
1:先到微軟網站下載 SQL Server Driver for PHP 是一個自解壓的 EXE文件,解壓縮後你會得到這么幾個文件:
其中的52、53表示就是php的5.2.x和5.3.x 版本,選擇跟你php版本相匹配的;vc6或vc9的選擇要看你使用的是什麼web伺服器軟體,如果使用的是IIS那就選擇vc9的,如果是Apache 則選擇vc6的,ts和nts的選擇要看你安裝的php版本是線程安全版的還是非線程安全版,ts是線程安全,nts是非線程安全。
㈡ PHP連接sql2008 R2 Call to undefined function sqlsrv_connect() in 錯誤!!
Call to undefined function sqlsrv_connect() 是說根本就沒這個函數,你確定擴展都加上了么。。。
檢查你的php的ext擴展文件夾裡面有沒有 php_sqlsrv_53_nts_vc9.dll 這個文件
有的話,還要在c盤的windows下的 php.ini 的擴展部分加一句
extension=php_sqlsrv_53_nts_vc9.dll
再重啟伺服器
還有就是你的連接參數格式有問題
$connstr=array("Database"=>"test","Uid"=>"sa","Pwd"=>"123456","CharacterSet"=>"UTF-8");
$conn=sqlsrv_connect('127.0.0.1',$connstr);
你看,伺服器地址是字元串,不加括弧,至於數組的鍵名是否區別大小寫我就不太清楚了,不過我這個是實際用的,應該是正確的,你不妨全抄過去試一試
㈢ php連接sqlserver2008操作
類擬資料庫調式的,最好加一句
mssql_select_db($dbName, $conn);
$result=mssql_query("update CRM_GROUP set read_flag='$bool' where client_id='$clientid'",
mssql_min_error_severity(1);
$query = mssql_query('SELECT `syntax`, `error` FROM `MSSQL`');
if (!$query) {
//讀取Query相關的信息來獲取當前錯誤
}
或著直接在mssql內調式以上語句,這樣找到問題稍快一些
㈣ php如何連接到SQL SERVER 2000 資料庫
先php擴展允許mssql,重啟IIS或apache,然後用以下代碼連接
<?php
$server='ip地址或伺服器名';
$username='資料庫用戶名';
$password='資料庫密碼';
$database='資料庫名';
$conn=mssql_connect($server,$username,$password)
or die("Couldn't connect to SQL Server on $server");
$db=mssql_select_db($database) or die("Couldn't open database $database");
?>
㈤ php榪炴帴mssql鏁版嵁搴撶殑鍑犵嶆柟娉昣php瀹炰緥
娉ㄦ剰瑕侀噸鍚鏈嶅姟浣垮叾鐢熸晥銆 涓銆佸緩絝嬭繛鎺1銆乷dbc棣栧厛錛屽湪php紼嬪簭鎵鍦ㄧ殑鏈嶅姟鍣ㄨ劇疆odbc銆傝繖閲32浣嶅拰64浣嶆搷浣滅郴緇熸湁鍖哄埆銆32浣嶇殑浠庢帶鍒墮潰鏉誇腑綆$悊宸ュ叿涓鐨勬暟鎹婧愶紙odbc錛夌洿鎺ュ緩絝嬪氨鍙浠ヤ簡錛64浣嶇殑瑕佽繍琛孋:WindowsSysWOW64odbcad32.exe 浠庤繖閲岄潰璁劇疆銆傛敞鎰忥細涓婇潰鍙鐨勬槸鏁版嵁搴撴湇鍔″櫒涓32涓虹殑錛屾暟鎹婧愯劇疆鏈嶅姟鍣ㄤ負32浣嶅拰64浣嶄袱縐嶇殑鎯呭喌銆傚彧瑕佷袱涓鏈嶅姟鍣ㄥ緩絝嬬殑鏁版嵁婧愪綅鏁頒竴鑷村氨濂姐 涓嬮潰鏄痮dbc寤虹珛榪炴帴浠g爜銆 澶嶅埗浠g爜浠g爜濡備笅:$con = odbc_connect('odbc鍚嶇О','鐢ㄦ埛鍚','瀵嗙爜'); 2銆佽繛鎺mssql2000澶嶅埗浠g爜浠g爜濡備笅:$con = mssql_connect('鏁版嵁搴撳湴鍧','鐢ㄦ埛鍚','瀵嗙爜'); 3銆佽繛鎺mssql2008澶嶅埗浠g爜浠g爜濡備笅:$connectionInfo = array("UID"=鐢ㄦ埛鍚,"PWD"=瀵嗙爜,"Database"="鏁版嵁搴撳悕縐"); $con = sqlsrv_connect( 鏁版嵁搴撳湴鍧,$connectionInfo); 浜屻佽緭鍏ユ煡璇浠g爜 榪欎釜閮戒竴鏍鳳紝鍙浠ョ洿鎺ュ啓鍏ワ紝涔熷彲浠ヤ粠mssql涓楠岃瘉濂藉悗澶嶅埗榪囨潵銆傜畝鍗曠偣璇村氨鏄鎶婁竴涓猻ql璇鍙ヨ祴鍊肩粰涓涓鍙橀噺銆 綾諱技涓嬮潰浠g爜澶嶅埗浠g爜浠g爜濡備笅:$query = "SELECT top 12 * 鏁版嵁搴撳悕縐 order by id desc"; 涓夈佸緩絝嬫煡璇㈠苟鍙栧嚭鏁版嵁1銆乷dbc澶嶅埗浠g爜浠g爜濡備笅:$result = odbc_do($con,$query); while(odbc_fetch_row($result)){$鍙橀噺鍚嶇О = odbc_result($result, "瀛楁靛悕縐");}2銆佽繛鎺mssql2000澶嶅埗浠g爜浠g爜濡備笅:$result = mssql_query($con, $query); while($row =mssql_fetch_array($result)){$鍙橀噺鍚嶇О = $row["瀛楁靛悕縐"];}3銆佽繛鎺mssql2008澶嶅埗浠g爜浠g爜濡備笅:$result = sqlsrv_query($con, $query); while($row = sqlsrv_fetch_array($result)){$鍙橀噺鍚嶇О = $row["瀛楁靛悕縐"];}鍦╬hp5.3鍙婁互鍚庣殑鐗堟湰涓涓嶉檮甯sqlsrv搴撲簡銆傛墍浠ヨ佷粠寰杞榪欓噷涓嬭澆銆 鍥涖佸叧闂榪炴帴
㈥ php 連接server sql2008
樓主能走到這一步說明做過不少工作,對流程有所了解,閑話不多說。
說下我感覺:最大的可能是php_sqlsrv_52_ts_vc6.dll注意52,vc6這個文件,52對應PHP版本,apacheIIS應注意vc6,vc9的選擇。
如果不行再聯系,我剛剛配置過還熱乎著