PHP连接Microsoft SQL Server数据库

此页由Linux Wiki用户Chenxing于2008年2月9日 (星期六) 07:31的最后更改。

出自Linux Wiki

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

在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

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

反馈与讨论

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