Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 PHP连接mssql数据库

PHP连接mssql数据库

发布时间:2014-07-20   编辑:www.jquerycn.cn
PHP连接sql server数据库

在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);
?>

您可能感兴趣的文章:
php连接不同数据库的几种方法
PHP无法读取sql server数据表
PHP数据库调用类的应用实例(详细注释)
PHP连接mssql数据库
一个php调用数据库类的例子
数据库还原时提示数据库正在使用的解决办法
php的mssql扩展SQL查询中文字段名的解决方法
有关php连接mssql的一些总结
php获取mssql的存储过程的输出参数的方法
CI操作多个数据库的例子

[关闭]