This Domain(Admin5.com) is for Sale:

PEAR MDB 数据库抽象层 —— 一次编写—随处运行

时间:2007-12-23  来源:不详  作者:迈克DB

事务支持
/表/索引/序列创建/抛弃/改变
RDBMS 无关的 schema 治理
继续进 PEAR 框架(PEAR 安装程序,PEAR 错误处理等)

那么它如何使用呢?

MDB 提供了一些非常先进的抽象特性。记住这些特性只是供选择的是很重要的。但是在编写 RDBMS 无关的 PHP 程序时使用它们是非常重要的。一个展示使用 MDB 是多么简单的例子在文章的结尾的 "链接和文献" 部分。如前面所说,文章的焦点是介绍使得 MDB 与其他 PHP 抽象层不同的那些特性。你可以在随本期文章一同包装的 CD 中找到所有这些例子脚本的代码。

但是,首先我们需要把 MDB 安装上去。使用 PEAR 安装程序这其实非常轻易。我不能在这篇文章中完整的讲述 PEAR 安装程序但是我听说下一期将非常具体的讨论 PEAR 框架的里里外外。让安装程序运行于
Windows 的工作在进行当作但是支持仍然有一点古怪。对于 *nix 系统你需要 PHP 的 CGI 版本安装在了你的系统并且简单地运行下面地命令:

织梦好,好织梦



php">lynx -source go-pear.org|php 

dedecms.com



在安装完成之后你只需要再输入一行命令那么就全部搞定了。

php">pear install MDB 本文来自织梦 


假如前面的过程对你来说不管用,总是有从 PEAR MDB 主页中直接获得包的选项。URL 列于文章的最后。

利用数据类型抽象

因为大部分倾向于有一些个性或者怪癖,对于MDB来说把这些不同之处给开发者隐藏起来非常重要。MDB 通过定义自己的内部数据类型来达到这点:text,boolean,integer,decimal,float,date,time,time stamp,large objects(文件)。所有传递给和从获取的数据都能转换成 MDB 的内部格式或者从的内部格式转化回来。本节相关的例子脚本能够再 datatype 目录中找到。让我们看看下面的查询:

php">$session = '098f6bcd4621d373cade4e832627b4f6';// set time out to 30 minutes $timeout = time() 60*30;// SELECT query showing how the datatype conversion works$query = 'SELECT createtime, user_id FROM sessions';$query .= ' WHERE session = '.$session;$query .= ' AND lastaccess < '.$timeout; 本文来自织梦 


这个查询假如发送给的话八成要失败。原因是存储在 $name 中的值需要转换为正确的字符串格式。这也许意味着 $name 的内容可能有非凡的转义字符或者被引号包围。PEAR DB 为此提供了方法 DB:.quote()。在 MDB 中这个方法叫 MDB::getTextValue()。不同之处是 MDB 给每种前面所列的数据类型都提供了这样的函数。因而我们也能够把 $timeout 转换为正确的格式。

php">// convert $timeout to the MDB timestamp format$timeout = MDB_date::unix2Mdbstamp($timeout);// SELECT query showing how the datatype conversion works$query = 'SELECT createtime, user_id FROM sessions';$query .= ' WHERE session = '.$mdb->getTextValue($session);$query .= ' AND lastaccess < '.$mdb->getTimestampValue($timeout);

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息