Username: Password:

使用PHPLIB访问多个数据库
来源:yesky作者:QQ新人类 发布时间:2007-10-27 00:00:00

PHPLIB是PHP的一些扩展库,使用他我们能够很方便地对数据库进行各种操作,但是,假如您要使用多个数据库的话,他就显得力不从心了,本文介绍了通过扩展PHPLIB,让您鱼和熊掌兼得,在使用PHPLIB的同时能够使用多个数据库,而且从中您也能够了解到面向对象编程和怎样扩展库的知识,值得一读。

数据库管理

   您能够在一个大型的数据库中放入任何表。但是时间长了,将会令数据库变得越来越大,服务器可能会跟不上IO的工作,或没有足够的内存应付任何的访问?要分开现有的数据又很难。明智的办法是开始时就使用分开的数据库,并且进行有效的数据库管理。 假如您有一个卖书的网站,您可能有作者的列表,书价的列表,更有当前的库存和订单的列表。当您的业务不断增长时,订单将会不断地增长,而且处理每个订单都需要进行很多的磁盘访问。很可能您将在某一天将任何的订单都放到一个会计系统中。

  现在就将订单放到一个单独的数据库吧。由于库存也是通过订单更新的,因此库存量也放到同样的数据库中。

  作者的列表和书的列表都是一些静态的信息,要经常读取,但很少更新。实际上,更新一个作者的记录可能只需要每5年一次,只在作者写了一本新书(或去世)时进行。放这些数据的服务器的配置可和放订单数据库的服务器完全不同。

包含PHPLIB

  PHPLIB通过一个称为DB_Sql的类访问SQL数据库。根据您需要使用的数据库类型,将不同的inc文档包含在您的代码中。在这个例子中,我使用MySQL的版本。

  为了在您的代码中使用DB_Sql,要将PHPLIB文档安装在他们自己的目录中。然后,找到您的cgi-bin目录,并且在cgi-bin的目录旁创建phplib目录。下一步,拷贝任何的PHPLIB .inc文档到phplib目录。最后,修改php.inc文档,只要将“include_path=”的行改为该phplib目录就能够了。

include_path是PHP使用include()或require()时查找的目录,在我的NT workstation中,include的路径是:

include_path = ".;i:/project52/includes;i:/project52/phplib";

在Linux的系统上

include_path = ".;/home/httpd/includes;/home/httpd/phplib";

在每个PHP页面的顶部加入
<?php

require(common.php);

?>
common.php3放在includes目录中,包含了每个页面要用到的任何数据和函数。在这个例子中的common.php是:
<?php

require(db_mysql.inc);
require(ct_sql.inc);
require(session.inc);
require(auth.inc);
require(perm.inc);
require(user.inc);
require(page.inc);

?>

  假如您想知道每个inc文档的用处,可阅读http://phplib.netuse.de上的PHPLIB文档。Db_mysql.inc包含了任何DB_SQL类的定义。假如您想使用PostGreSQL代替MySQL,只要用db_pgsql.inc代替db_mysql.inc就能够了。更有10个其他的.inc文档,能够使用MS SQL、Oracle、Sybase或其他的数据库。

  要注意的是,在这个例子中,require()和include()是完全相同的。但是,假如放在代码中,或在if语句中使用时,Require()和include的使用是完全不同的,并且有不同的运行结果。
下一页>>

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅