在Windows中PHP可以使用mssql系列函数访问Microsoft SQL Server。
在linux服务器中,通过PHP连接Microsft SQL Server主要有两种方法。
本文包括以下内容:
1 基本原理
2 方法一(db-lib)
2.1 Debian、Ubuntu等
2.2 其它发行版
3 方法二(ODBC)
4 相关资料
基本原理
FreeTDS为Linux系统提供了TDS协议的开源客户端。由于MS SQL和Sybase使用的恰是TDS协议,所以在Linux中可以用FreeTDS连接MS SQL。
下面介绍两种方法:
方法一(db-lib)
使用该方法配置后的代码与Windows中相同,可以使用如下代码:
复制代码 代码如下:
<?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系统中(如Debian、Ubuntu等),很简单:
复制代码 代码如下:
$ sudo apt-get install php5-sybase
apt-get会自动寻找依赖的包进行安装。重新启动
apache即可:
复制代码 代码如下:
$ sudo /etc/init.d/apache2 restart
其它发行版
如果使用其它发行版,请先找一下发行版是否提供了类似的包,如果没有,就需要重新编译PHP:
复制代码 代码如下:
先编译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);
?>