2.DB::common界面刚刚的$conn就是这个界面类型的实体,这个界面将负责大部分的数据工作,包括select, update, insert等等。这个界面包含了大量功能强大的函式,不过我将介绍几个重要的。
[code]
--Select
$sql = “SELECT * FROM blah”;
$conn->setFetchMode(DB_FETCHMODE_ASSOC);
$result = $conn->query($sql);
$row = $result->fetchRow();
print_r($row);
$conn->disconnect();
[/code]
如果你熟悉PHP的数据库
方法的话,应该对[x]_fetch_assoc不会陌生,没错,意思大致上相同。DB::common 的默认设定是DB_FETCHMODE_ORDERED, 和[x]_fetch_row大致上相同,以上例子我将fetchmode利用DB::common::setFetchMode()将它改为DB_FETCHMODE_ASSOC,得出的$result将会和[x]_fetch_assoc相同,都是以fieldname作为引索。这里的$result( DB::result ) 和mysq_query()所传回的差不多,是PEAR DB里面另外一个重要的类型,稍候会作介绍;如果需要得到一行的数据,可以用DB::result::fetchRow(),就可传回一个数据行的阵列。
之前所提到的PEAR::isError()也可以用来检查$result的结果是否有错误。编码如下:
[code]
if(PEAR::isError($result)){
die($result->getMessage());
}
[/code]
和之前一样如法炮制,只是将
对象由DB::common改成DB::result。
DB::common也提供了两个很方便的方法让PHP能够简单地处理INSERT和UPDATE,prepare()和execute(),这两个组合可以让你很轻松的同时处理多个INSERT和UPDATE statement。prepare()主要现载入需要执行的statement,而execute将负责执行,同时也载入所需的参数。看看以下的例子:
[code]
$conn->prepare(“INSERT INTO foo (fname, fage, flocation) VALUES (? , ? , ? )”);
$data = array(“foo”,23,”earth”);
$conn->execute($stn, $data);
if(PEAR::isError($stn)){
die($stn->getMessage());
}
$conn->freePrepared();
[/code]
“?”这里是代表参数,$data里面的数据会依次序被传入prepare()里面的statement里面的”?”参数。所有的数据将会自动呼叫escaped string来将一些意义符号字串化,而且execute()也会自动辨认数据类型,例如数字,字串等等。那么如果要输入超过一行以上的数据呢?可以简化吗?答案是肯定可以了,参考下面的例子你就会发现,DB是多么不可思议了
[code]
$conn->prepare(“INSERT INTO foo (fname, fage, flocation) VALUES (? , ? , ? )”);
$data = array(array(“foo”,23,”earth”),
array(“faa”,21,”moon”),
array(“fee”,25,”mars”)
array(“fii”,19,”Pluto”));
$conn->executeMultiple($stn, $data);
if(PEAR::isError($stn)){
die($stn->getMessage());
}
$conn->freePrepared();
[/code]
几个繁杂的程序在几行就可以完成了,关键就在于$data和DB::common::executeMultiple()。$stn是execute()或executeMultiple()所传回的结果,他有三种可能性:第一,DB::result,可以将statement的结果数据转为result实体;第二,定义常数DB_OK,代表statement成功执行;第三,DB error实体,后面的PEAR::isError()就是检查传回是否为DB error。如果要用同一个DB::common资源进行另一个query,必须呼叫DB::common::freePrepared()来清除之前prepared()内的statement。
DB::common可以说是PEAE DB的最重要的工作界面,大部分和数据的接触都在这里进行,而且功能也强大。除了以上说明的几个方法之外,DB::common还有很多个方法也是很实用的。详细的说明可以到pear.php.net查看。
待续..
相关推荐
总的来说,Perl PEAR DB是一个强大的数据库操作工具,它通过提供一致的接口简化了数据库编程,使得开发者可以专注于业务逻辑,而不是数据库系统的具体细节。通过学习和掌握这个模块,Perl程序员可以更高效地处理各种...
2. **数据库抽象层**:PEAR中的DB类或者PDO_PEAR扩展可以帮助创建数据库抽象层,允许程序独立于特定的数据库系统,如MySQL、PostgreSQL等。这使得更换数据库变得更加容易,同时也简化了SQL查询的编写。 3. **数据...
3. **类库**:包括网络、数据库、文件处理、日期时间等多个领域的类库,如DB(数据库抽象层)、Mail(邮件处理)、XML_RPC(远程过程调用)等。 4. **编码规范**:PEAR也制定了统一的编码风格和命名规则,有助于...
3. 强大的依赖注入容器:支持自动绑定,简化服务提供和注入过程。 4. 精简的核心库:减少了不必要的组件,使框架更加轻量级。 二、Pear Admin Think概述 Pear Admin Think是针对ThinkPHP6开发的后台管理模板,提供...
- 例如,安装数据库连接组件可以使用 `pear install DB` 命令。 **使用 PEAR 组件**: - 在 PHP 文件中通过 `require_once 'path/to/PEAR/Component.php';` 引入所需组件。 - 调用组件中的函数或类来实现特定功能,...
PEAR提供了多个用于数据处理的包,例如DB(数据库抽象层)、MDB2(多数据库抽象层)、Table 和 Record。这些包可以帮助开发者更轻松地与不同类型的数据库进行交互,提高代码的可移植性和可维护性。 #### 日期处理 ...
2. **类库**: PEAR包含大量预定义的类库,如数据库访问(DB)、HTTP请求处理(HTTP_Request)、XML处理(XML_RPC)、邮件发送(Mail)等,这些类库可以极大地简化开发工作。 3. **结构规范**: PEAR提倡的命名规则和...
PEAR 的 DB 类就是一种数据库接口的抽象。 三、连接到 MySQL 数据库 连接到 MySQL 数据库需要提供的信息包括数据库服务器的 IP 地址、数据库的名字、用户名和密码。我们可以使用 PHP 的 connect 函数或 PEAR 的 ...
DB是PEAR提供的一款数据库抽象层,用于简化在多种数据库系统上进行数据库操作。IDEAS文件可能包含了关于DB组件的设计想法或改进提案,而MAINTAINERS文件则列出该组件的主要维护者和贡献者。 综上所述,code.zip...
它包括了用于构建、测试和发布PHP软件的工具,以及大量的预包装的PHP类库,如DB(数据库抽象层)、Mail(邮件处理)和XML_RPC(远程过程调用)等。 在提供的压缩包中提到了PHPUnit,它是PHP的单元测试框架,对于...
这个系统结合了多种技术,如Smarty模板引擎、用户管理功能、PEAR DB数据库抽象层以及可扩展的用户模块,旨在简化Web应用的开发、部署和管理过程。 1. **Smarty模板引擎**:Smarty是PHP中广泛使用的模板引擎,它将...
此外,它采用了"PEAR DB数据库后端",PEAR DB是PHP的一个扩展库,用于处理各种数据库系统的连接和查询,这使得Smbind可以与多种数据库兼容,增加了灵活性。 "提供演示和屏幕截图"意味着用户可以在实际安装前通过...
- **数据库抽象层**:学习如何使用PEAR::DB或PDO等数据库抽象层来简化数据库操作。 #### 五、动态内容生成 - **动态图像**:掌握如何使用PHP生成动态图像文件。 - **PDF文件**:了解如何使用PHP创建PDF文件。 - **...
WASP集成的PEAR DB_DataObjects是PHP的一个数据库抽象层,它允许开发者以面向对象的方式处理数据库操作。通过DB_DataObject,开发者可以创建数据对象类,这些类代表数据库表,提供了增删改查等基本操作,降低了...
这个库的核心目标是简化数据库操作,让开发者无需深入理解每种数据库系统的特定语法,就能进行数据的存取和管理。 **1. 支持的数据库系统** anyDB 支持以下常见的数据库系统: - **MYSQL**:MySQL 是一种广泛使用的...
4. **数据库后端**:Smbind利用PEAR DB作为其数据存储后端,这允许它与多种数据库系统(如MySQL、PostgreSQL等)兼容,提供了灵活性和可扩展性。 **PHP在Smbind中的作用** PHP是一种广泛使用的开源脚本语言,尤其...
Pear::DB 是一个数据库抽象层,它允许开发者编写独立于具体数据库系统的代码,支持如 MySQL、PostgreSQL、Oracle 等多种数据库。 OpenIT 的核心功能包括: 1. **库存管理**:帮助企业跟踪硬件、软件和其他资产,...