PHP連接Microsoft SQL Server數據庫

此頁由 Linux Wiki用戶Chenxing 於 2008年2月9日 (星期六) 07:31 的最後更改。

出自Linux Wiki

提示:此文已超过 16 年(5918 天)未更新,如发现内容过时或有误,欢迎改进:)

在Windows中PHP可以使用mssql系列函數訪問Microsoft SQL Server。在Linux服務器中,通過PHP連接Microsft SQL Server主要有兩種方法。

Hint.gif
提示:
在系統中直接連接MSSQL的方法見連接Microsoft SQL Server數據庫

目錄

基本原理

FreeTDS為Linux系統提供了TDS協議的開源客戶端。由於MS SQL和Sybase使用的恰是TDS協議,所以在Linux中可以用FreeTDS連接MS SQL。[1]

下面介紹兩種方法:

方法一(db-lib)

使用該方法配置後的代碼與Windows中相同,可以使用如下代碼:[2]

<?php
$msconnect=mssql_connect("服务器","用户名","密码");
$msdb=mssql_select_db("数据库名",$msconnect);
$msquery = "select titleofcourtesy from employees";
$msresults= mssql_query($msquery);
while ($row = mssql_fetch_array($msresults)) {
       echo "<li>$row['titleofcourtesy']</li>\n";
}
?>

配置的過程:

Debian、Ubuntu等

可以用php的db-lib連接,在Debian Based系統中(如DebianUbuntu等),操作很簡單:

$ sudo apt-get install php5-sybase

apt-get會自動尋找依賴的包進行安裝。重新啟動apache即可:

$ sudo /etc/init.d/apache2 restart


其它發行版

如果使用其它發行版,請先找一下發行版是否提供了類似的包,如果沒有,就需要重新編譯PHP:[3]

先編譯freetds:

$ ./configure --prefix=/usr/local/freetds
$ make
$ su root
Password: 
$ make install

再編譯PHP

$ cd php
$ ./configure --with-sybase=/usr/local/freetds
$ make
$ su root
Password: 
$ make install

方法二(ODBC)

先配置系統的ODBC,再使用PHP的odbc驅動連接(需要PHP中編譯了odbc驅動,debian系統要安裝 php5-odbc)。

配置ODBC的方法見連接Microsoft SQL Server數據庫

配置後可用如下代碼連接:

<?php
// connect to DSN MSSQL with a user and password
$connect = odbc_connect("MSSQLServer", "username", "password") or die
  ("couldn't connect");
odbc_exec($connect, "use Northwind");
$result = odbc_exec($connect, "SELECT CompanyName, ContactName " .
        "FROM Suppliers");
while(odbc_fetch_row($result)){
  print(odbc_result($result, "CompanyName") .
        ' ' . odbc_result($result, "ContactName") . "<br>\n");
}
odbc_free_result($result);
odbc_close($connect);
?>

相關資料

  1. http://www.freetds.org/
  2. http://www.phpv.net/html/1537.html
  3. http://www.freetds.org/userguide/php.htm#PHPDBLIB

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
简体繁体转换