本文目錄一覽:
- 1、php連sqlserver2008 r2需要什麼版本的ntwdblib.dll
- 2、PHP5.2連接32位sql server 2008 R2
- 3、php連接mssql數據庫的幾種方式
- 4、xampp下php如何連接mssql,並讀取數據呀
- 5、php怎麼樣連接sql數據庫
- 6、PHP 5.3.6 Windows Installer 安裝後沒有找到 php_mssql.dll
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是非線程安全。
PHP5.2連接32位sql server 2008 R2
準備工作:SQLSRV20.EXE(PHP mssql擴展庫)、php_mssql.dll文件。
安裝PHP mssql擴展庫:安裝SQLSRV20.EXE,選擇解壓路徑為:D:\wamp\bin\php\php5.2.9-2\ext。如下圖所示:
修改php.ini配置文件:打開php.ini配置文件,將其中
;extension=php_mssql.dll
;extension=php_pdo_mssql.dll
前面的分號去掉,然後再”Dynamic Extensions”區域的後面添加php_sqlsrv的動態鏈接庫文件: extension=php_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll
如下圖所示:
注意事項:查看D:\wamp\bin\php\php5.2.9-2\ext目錄下有也Php_mssql.dll文件。如果沒有,則下載該文件,複製到該目錄下。
測試環境配置是否成功:打開瀏覽器,在地址欄輸入 ,如果在打開的網頁中查詢到如下頁面內容,則配置成功,否則配置失敗。
重啟WAMP所有服務。
測試:編寫一個簡單的SQL SERVER2008數據庫連接的測試程序。測試程序具體代碼如下:
?php
$server =”192.168.61.181″; //服務器IP地址,如果是本地,可以寫成localhost
$uid =”sa”; //用戶名
$pwd =”cwh”; //密碼
$database =”UserMan”; //數據庫名稱
//進行數據庫連接
$conn =mssql_connect($server,$uid,$pwd) or die (“connect failed”);
mssql_select_db($database,$conn);
//執行查詢語句
$query =”select * from users”;
$row =mssql_query($query);
//打印輸出查詢結果
while($list=mssql_fetch_array($row))
{
print_r($list);
echo “br”;
}
?
8
php連接mssql數據庫的幾種方式
hp連接mssql數據庫有幾個注意事項,尤其mssql的多個版本、32位、64位都有區別。
首先,php.ini文件中;extension=php_pdo_mssql.dll
;extension=php_pdo_odbc.dll
前面的分號去掉,對應的使哪種方式連接mssql。注意要重啟服務使其生效。
一、建立連接
1、odbc
首先,在php程序所在的服務器設置odbc。這裡32位和64位操作系統有區別。32位的從控制面板中管理工具中的數據源(odbc)直接建立就可以了,64位的要運行C:\Windows\SysWOW64\odbcad32.exe
從這裡面設置。注意:上面只的是數據庫服務器為32為的,數據源設置服務器為32位和64位兩種的情況。只要兩個服務器建立的數據源位數一致就好。
下面是odbc建立連接代碼。
$con
=
odbc_connect(‘odbc名稱’,’用戶名’,’密碼’);
2、連接mssql2000
$con
=
mssql_connect(‘數據庫地址’,’用戶名’,’密碼’);
3、連接mssql2008
$connectionInfo
=
array(“UID”=用戶名,”PWD”=密碼,”Database”=”數據庫名稱”);
$con
=
sqlsrv_connect(
數據庫地址,$connectionInfo);
二、輸入查詢代碼
這個都一樣,可以直接寫入,也可以從mssql中驗證好後複製過來。簡單點說就是把一個sql語句賦值給一個變量。
類似下面代碼
$query
=
“SELECT
top
12
*
數據庫名稱
order
by
id
desc”;
三、建立查詢並取出數據
1、odbc
$result
=
odbc_do($con,$query);
while(odbc_fetch_row($result))
{
$變量名稱
=
odbc_result($result,
“字段名稱”);
}
2、連接mssql2000
$result
=
mssql_query($con,
$query);
while($row
=mssql_fetch_array($result))
{
$變量名稱
=
$row[“字段名稱”];
}
3、連接mssql2008
$result
=
sqlsrv_query($con,
$query);
while($row
=
sqlsrv_fetch_array($result))
{
$變量名稱
=
$row[“字段名稱”];
}
在php5.3及以後的版本中不附帶sqlsrv庫了。所以要從微軟這裡下載。
四、關閉連接
這個沒有什麼區別,分別是odbc_close();和mssql_close()和sqlsrv_close();
xampp下php如何連接mssql,並讀取數據呀
首先確定是哪兒的問題:看apache的日誌。看php的ext目錄下,有沒有 php_mssql.dll如果沒有 php_mssql.dll 則從網上下載一個。如果日誌出現 PHP startup: Unable to load dynamic library ‘./php_mysql.dll 這個問題是最常出現的,解決方法有兩個:將這些依賴的dll拷貝到 %windir%\system32 下
php怎麼樣連接sql數據庫
1、軟件配置
Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2數據庫,wamp2.2中的php版本是5.3.10。
Php環境也可以換成php+apache。
2、支持連接MySQL Server配置
php版本5.3以前,有php_mssql功能,可以使用,但是5.3及以後的版本不支持。
2.1、php連接mssql設置(php5.3以前版本)
(1)、打開php.ini,將
;extension=php_mssql.dll前面的分號(;)去掉,然後重啟 Apache。如果不行的話,進行第2步。
(2)檢查一下你的php安裝目錄下的ext下面有沒有php_mssql.dll存在,如果沒有,從重新下載一個php安裝,要下載那個壓縮包的才是最完整的。
如果ext目錄下已經有了php_mssql.dll,那麼你需要打開php.ini,找到
extension_dir = “./ext”
這一句(或者類似的,不一定是”./ext”,查找”extension_dir”即可),然後把”./ext”修改為你的php安裝目錄的ext目錄的完整路徑,比如”c:/php/ext”,或者”c:/program files/php/ext”這樣。然後再次重啟 Apache。如果還是不行的話,可能就需要第3步了。
(3)把 php 目錄下的 ntwdblib.dll 和 php_mssql.dll 複製到 system32的系統目錄中去,然後重起Apache。
(4)然後就可以連接MSSQL,並進行一些操作了。連接例子如下:
2.2、php連接sqlsrv(php5.3以及以上版本)
(1)、下載Microsoft Drivers for PHP for SQL Server,官方下載地址:,我使用的是SQLSRV2.0。
(2)、解壓下載下來的文件將php_pdo_sqlsrv_53_ts_vc9.dll文件和php_sqlsrv_53_ts_vc9.dll文件複製到php安裝目錄下的ext文件夾中。此處根據版本不同使用的文件不同。
(3)、在php.ini中添加
extension=php_sqlsrv_53_ts_vc9.dll
extension=php_pdo_sqlsrv_53_ts_vc9.dll
到很多;extension=***.dll語句後面,注意extension_dir 指向的位置是否正確。
(4)、重啟apache,然後訪問訪問地址/?Phpinfo=1,出現下面圖片中的內容,則代表配置正確。
(5)、寫測試代碼,測試代碼如下:
?php
header(“Content-type: text/html; charset=utf-8”);
$serverName = “localhost”; //數據庫服務器地址$uid = “foodcert”; //數據庫用戶名$pwd = “foodcert”; //數據庫密碼$connectionInfo = array(“UID”=$uid, “PWD”=$pwd, “Database”=”FoodCert”);
$conn = sqlsrv_connect( $serverName, $connectionInfo);if( $conn == false)
{
echo “連接失敗!”;
die( print_r( sqlsrv_errors(), true));
}else{
echo “連接成功!”;
}
$query = sqlsrv_query($conn, “select * from 數據庫表”);while($row = sqlsrv_fetch_array($query))
{
print_r($row);
}?
(6)、上面完成之後,測試代碼的時候會出現連接失敗,因為沒有安裝sql server nation client ,本地客戶端,去下載合適的客戶端,我使用的是Microsoft? SQL Server? 2012 Native Client,下載地址:
(7)、安裝完成之後,在重新啟動apache,然後訪問就可以連接成功了。
(8)、注意:在php.ini文件所在的文件夾中必須要有ntwdblib.dll文件存在。
PHP 5.3.6 Windows Installer 安裝後沒有找到 php_mssql.dll
不記得mssql.dll是否默認有安裝的了,在安裝的時候記得勾選上就OK了,然後看看php.ini 中是否開啟了mssql,沒有其它的設置了
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/304399.html