最近在做一個系統要抓取管家數據庫裡面的幾個表的數據顯示在web頁面,於是乎上網搜了一下php如何連接sqlserver2000數據庫,網上很多教材都是要配置php.ini配置文件,去掉;extension=php_mssql.dll前面的分號”;”,然後把ext文件裡面php_mssql.dll復制粘貼到系統盤system32目錄下,然後重啟apache服務器即可,然後寫連接數據庫的代碼件:<?php $conn=mssql_connect(“服務器”,”數據庫用戶名”,”數據庫密碼”); mssql_selected(‘”對應數據庫名字”,$conn);?>服務器一般書寫格式為“ip,端口號”如何是本機,可以寫成為localhost,端口或者127.0.0.1,端口.至於怎麼寫根據自己的情況書寫,特此聲明以上連接sqlserver數據庫僅限php版本是5.3一下的。如果你是5.3以上的版本以上連接亦不可用,因為php5.3以上版本微軟已不支持。下面講解一下php5.3以上版本如何連接sqlserver2000或者以上版本數據庫。
那麼php5.3以上版本如何連接sqlserver數據庫呢?因為這個我也查找了很多資料,有說下載驅動的,可驅動只是針對sqlserver2005或者2008數據庫版本,而對於sqlserver2000版本微軟也並未提供相關支持驅動,至少我沒有找到,好了閒話少說,還是趕緊介紹一下我的php5.3以上版本連接sqlserver2000的方法吧。其實很簡單了就是用odbc連接2000數據庫。下面直接說下步驟,首先需要配置數據源,打開控制面板,找到管理工具,打開管理工具,,然後雙擊打開數據源(ODBC),
選擇系統DSN,然後點擊添加
選擇sql server,然後下一步,當然如果你是其他數據庫比如access那麼你選擇acess先關的驅動了。
名稱一定要寫,是你寫代碼連接訪問數據庫的必備參數。服務器也一定要選擇,如果是本機器就選擇local,如果是其他機器就選擇那個可看到的名字。
登陸ID一定要寫,就是訪問你數據庫的名字,密碼也是訪問數據庫的密碼,如果有就寫,沒有就空著,然後一直下一步知道完成為止,然後測試連接,如果點擊測試連接提示成功那麼恭喜你,你的php5.3以上版本連接sqlserver2000就成功了,那麼下一步就是書寫連接數據庫的代碼了。
下面直接附上我寫的代碼,以供大家參考:
<?php $conn=odbc_connect(“剛才配置的數據源名字”,”訪問數據庫名字”,”訪問數據庫密碼”); $sql=”select * from 表名”; $exec=odbc_exec($conn,$sql);//執行語句 while(odbc_fetch_array($exec)) { $abc=odbc_result($exec,'”數據表對應字段名字”); echo $abc … }
希望這篇文章對需要的朋友有所幫助,可以說這篇文章是我自己總結出來的,查找了很多資料,應該說是目前最詳細的php5.3以上版本連接sqlserver2000的文章了。
php5.3.x版後需要自己安裝微軟的php 驅動程序,php本身不再提供SQL Server驅動。請參考我的這篇日志:
hi.baidu.com/...1.html
PHP完全可以連接MSSQL的。
1. 首先需要MS SQL Client Tools是一個dll叫做ntwdblib.dll,它通常在MS SQL Server安裝以後被copy到系統的system32文件夾下;如果是SQL Server就在本地,那你需要核實的是該ntwdblib.dll的版本與SQL Server的版本一致(2005對應2000.80.194.0,2000對應的是2000.2.8.0;)如果SQL Server在遠程,需要將那個ntwdblib.dll拷貝到本機器的system32文件夾下;
(這裡經常遇見的一個問題是,如果php<通常是較老的ntwdblib.dll>晚於SQL Server安裝的話,php的ntwdblib.dll會覆蓋SQL server安裝時copy在system32下的ntwdblib.dll,導致鏈接是提示:鏈接不上數據庫)
2.核實完system32下的ntwdblib.dll之後,還需要將正確版本的ntwdblib.dll覆蓋php文件夾下的ntwdblib.dll;
3.使用MS SQL Server的方法與MySQL的方法很類似;
如下:
<?php
//鏈接數據庫
$conn=mssql_connect('IBM-F24B11ED1CCSQLEXPRESS','sa','123456');
mssql_select_db('LabMIS',?$conn);
//query語句
$Query="select * from admin";
$AdminResult=mssql_query($Query);
//輸出結果
$Num=mssql_num_rows($AdminResult);
for($i=0;$i<$Num;$i++)
{
$Row=mssql_fetch_array($AdminResult);
echo($Row[1]);
echo("<br/>");
}
?>