您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

PHPLIB和多个数据库

来源:网络收集 责任编辑:栏目编辑 发表时间:2013-07-01 22:15 点击:
你可能有一个站点,有些页面要处理数据库。你可能想使用PHPLIB,但是不想为了适应它而改变现存的  
数据库。这儿给出实现你的梦想的答案。PHPLIB和多个数据库。  

  实现它需要对PHPLIB进行扩充。本文解释了如何创建扩充。你会发现,这篇文章会帮助你在其它方面对  
PHPLIB进行扩充。阅读完这篇文章后,思考一下PHPLIB可以完成你想要的98%的情况吧。  

  这篇文章所提及的PHPLIB的扩充的建议已经提交给了PHPLIB的开发组。因此,在未来的版本中,可能会  
出现这些扩充。在你的网页中的其它的代码将帮助你组织你的数据库管理。  

数据库管理  
  你可以将每一个表放在一个巨大的数据库中。然而,总有一天会刺伤你。对数据库进行管理将会使创伤  
减小到最小。当你的数据库对一个服务器来说太大时会出现什么情况?当一个服务器不能处理IO吞吐量或者  
没有足够的内存进行处理又会怎么样?将现有的数据库进行拆分很难,但是从分离的数据库开始则容易多了,  
并且好的数据库管理会很有帮助。  

  如果你经营一家书店,你可能有作者列表,带有价格的书目列表,当前库存列表和订单列表。随着你的  
业务的发展,订单列表会增加,并且每一个订单会占用很多的磁盘空间。一种可能性就是有一天你会将订单  
直接放进财务系统。  

  现在开始将订单放在分离的数据库中。因为库存的数量是随着订单而变化的,所以将库存数据放在同一  
个数据库中。  

  作者列表和书目列表为一些静态信息,它们会经常被读到,但是很少改变。实际上,唯一的改变可能就  
是对于作者记录会每5年一次,这可能是当这个作者写了一本新书(或死亡了)。这些数据可能使用与订单数  
据库完全不同的配置。  

包含PHPLIB  
  PHPLIB通过一个名为DB_Sql的类来操作SQL数据库。在你的代码中包含适合你的数据库的版本。在这个  
例子中,我使用MySQL版本。  

  为了在你的代码中得到DB_Sql,在PHPLIB要求的目录下安装PHPLIB文件。然后,找到你的cgi-bin目录,  
然后在cgi-bin目录下创建phplib目录。接着,拷贝所有的PHPLIB中的.inc文件到phplib目录下。最后,将  
phplib目录放在php.ini文件中include_path = 的那行上。  

  include_path是PHP引用在include()或require()中文件名的地方。在我的NT工作站上,包含路径是  

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

  在Linux机器上,则为  
include_path = ".;/home/httpd/includes;/home/httpd/phplib";  

  在每一个PHP页面的顶端为  

<?php  

require(common.php3);  

?>  

  common.php3在包含目录中,包含对每一页都通用的所有的数据和函数。在common.php3中,为  

<?php  

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

?>  

  阅读PHPLIB文档(http://phplib.netuse.de),也可以在http://www.phpbuilder.com下查找一些好文  
章,来了解你需要包括些什么。Db_mysql.inc包含了DB_Sql类的定义。如果你想将MySQL改换成PostGreSQL  
数据库,将db_mysql.inc改成对db_pgsql.inc的包含。那里有10个.inc文件,涵盖了MS SQL,Oracle,Sybase  
和其它一些数据库。  

  请注意,在这个例子中,require()和include()是完全一样的。Require()和include()工作方式不同,  
当用在代码中间或在if()语句中时,结果是不一样的。  

扩充PHPLIB  
  PHPLIB处理数据库是通过从DB_Sql类创建的一个对象实现的。Db_mysql.inc包含了DB_Sql类,为MySQL  
进行了修改。我们将通过向common.php3添加代码来扩充DB_Sql,在包含db_mysql.inc的行的后面。  

  DB_Sql包含了很多进行查询的函数。我们想改变的一个是:  

<?php  

/* public: 连接管理 */  
function connect($Database = "", $Host&nbs
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • PHP测试
    • 十天学会php之第六天
    • 几种显示数据的方法的比较
    • 使用xmlhttp为网站增加域名查询功能
    • PHP+MYSQL+Javascript数据库查询结果的动态显示
    • 查找数组中指定键名的值
    • 用redis实现跨服务器session
    • 用新浪微博接口发送图片微博失败的原因
    • smarty局部缓存技术[源码分析]
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1