快递回复数据,当你不再想用fetchRow()方法来获取数据的时候,
Pear DB通过sql语句提供一些特别的方法来返回想要的数据。
这些方法有:getOne, getRow, getCol, getAssoc and getAll。
"get*() 系列方法" 可以为你做很多事情, 包括: 发起一个查询, 获取数据和清除结果。
请注意所有的Pear DB函数将可能返回一个 Pear DB_error 对象。
通过 Pear DB可以从查询结果获得更多有用的数据信息 。这些方法有:
numRows(): 通过一个"SELECT" 查询返回所有数据的数量。
numCols():通过一个"SELECT" 查询返回所有的列。
affectedRows(): 通过("INSERT", "UPDATE" or "DELETE")操作返回所有受影响的数据行数。
tableInfo():通过一个"SELECT" 查询返回一个包含数据信息的数组。
可用方法列表:
<?php
/*
* From the DB_(driver) objects
*/
// get the object with, ie:
$db = DB::connect('mysql://user:pass@localhost/my_db');
// Set options
$db->setErrorHandling();
$db->setFetchmode();
// Information
$db->affectedRows();
$db->tableInfo();
// Database manipulation
$db->query();
// Data fetch
$db->nextId();
$db->getOne();
$db->getRow();
$db->getCol();
$db->getAssoc();
$db->getAll();
// Place holders and execute related
$db->quote();
$db->prepare();
$db->execute();
$db->executeMultiple();
// Transactions
$db->autoCommit();
$db->commit();
$db->rollback();
// Disconnection
$db->disconnect();
/*
* From DB_result objects
*/
// get the object with, ie:
$res = $db->query('select * from foo');
// Data fetch
$res->fetchRow();
$res->fetchInto();
// Result Info
$res->numCols();
$res->numRows();
$res->tableInfo();
// Free
$res->free();
/*
* From DB_error objects
*/
// get the object with, ie:
$error = $db->query('select * from no_table');
$error->getMessage();
$error->getDebugInfo();
$error->toString();
?>
//////////////////////////////////////////////
///其他详细使用
///////////////////////////////////////////////
PEAR DB 的连接和断开
<?php
// The pear base directory must be in your include_path
require_once 'DB.php';
$user = 'foo';
$pass = 'bar';
$host = 'localhost';
$db_name = 'clients_db';
// Data Source Name: This is the universal connection string
$dsn = "mysql://$user:$pass@$host/$db_name";
// DB::connect will return a Pear DB object on success
// or a Pear DB Error object on error
// You can also set to TRUE the second param
// if you want a persistent connection:
// $db = DB::connect($dsn, true);
$db = DB::connect($dsn);
// With DB::isError you can differentiate between an error or
// a valid connection.
if (DB::isError($db)) {
die ($db->getMessage());
}
....
// You can disconnect from the database with:
$db->disconnect();
?>
=======================
执行数据库并获得数据
<?php
// Once you have a valid DB object
...
$sql = "select * from clients";
// If the query is a "SELECT", $db->query will return
// a DB Result object on success.
// Else it simply will return a DB_OK
// On failure it will return a DB Error object.
$result = $db->query($sql);
// Always check that $result is not an error
if (DB::isError($result)) {
die ($result->getMessage());
}
// Once you have a valid DB Result object
...
// Get each row of data on each iteration until
// there is no more rows
while ($row = $result->fetchRow()) {
$id = $row[0];
}
?>
===============================
选择获取数据的格式
<?php
$res = $db->query('select id, name, email from users');
$row = $res->fetchRow($mode);
//With $mode = DB_FETCHMODE_ORDERED
//The default behavior is to return an ordered array.
$row = array (
0 => <column "id" data>,
1 => <column "name" data>,
2 => <column "email" data>
);
$id = $row[0];
//With $mode = DB_FETCHMODE_ASSOC
//Returns an associative array with column names as array keys:
$row = array (
'id' => <column "id" data>,
'name' => <column "name" data>,
'email' => <column "email" data>
);
$id = $row['id'];
//With $mode = DB_FETCHMODE_OBJECT
//Returns a DB_row object with column names as properties:
$row = db_row Object
(
[id] => <column "id" data>,
[name] => <column "name" data>,
[email] => <column "email" data>
)
$id = $row->id;
?>
=============================
控制获取数据的数量
<?php
...
// the row to start fetching
$from = 50;
// how many results per page
$res_per_page = 10;
// the last row to fetch for this page
$to = $from + $res_per_page;
foreach (range($from, $to) as $rownum) {
if (!$row = $res->fetchrow($fetchmode, $rownum)) {
break;
}
$id = $row[0];
....
}
?>
===========================
清楚结果释放变量
<?php
...
$result = $db->query('SELECT * FROM clients');
while ($row = $result->fetchRow()) {
...
}
$result->free();
?>
===========================
原文地址:
http://www.yaiba.net/blog/read.php/381.htm
分享到:
相关推荐
PEAR DB的主要优点在于其抽象了不同数据库系统的差异,让开发者能够使用相同的API进行数据库交互,而无需关心底层数据库的具体实现。这大大简化了多数据库平台间的迁移工作,并提高了代码的可复用性。 在`package....
PEAR中Database(DB)使用介绍
在新手入门指南中,将引导读者完成Pear DB的基本使用方法,包括库的下载与安装、连接数据库、以及使用Pear DB特有的一些方法来执行数据库操作。 首先,新手入门指南的第一部分是介绍Pear DB库,并指出它可以如何...
- **广泛支持**:众多知名的 PHP 类库如 DB、Mail、XML_RPC 等,都通过 PEAR 分发和维护。 ### 2. 安装 PEAR 首先,确保你的系统上已经安装了 PHP。接着,根据操作系统,按照以下步骤安装 PEAR: **在 Unix/Linux...
3. **类库**:包括网络、数据库、文件处理、日期时间等多个领域的类库,如DB(数据库抽象层)、Mail(邮件处理)、XML_RPC(远程过程调用)等。 4. **编码规范**:PEAR也制定了统一的编码风格和命名规则,有助于...
如果你的项目已经使用了Composer,你可以通过在`composer.json`文件中添加以下依赖来安装PEAR: ```json "require": { "pear/pear-core-default": "1.10.*" } ``` 然后运行`composer install`进行安装。 **...
2. **组件**:PEAR包含了各种不同功能的组件,如数据库访问层(DB)、文件系统操作(Filesystem)、HTTP请求处理(HTTP_Request)、XML处理(XML_RPC)等,这些组件可以方便地被开发者集成到自己的PHP项目中。...
例如,如果你想使用PEAR的DB类库连接数据库,你可以看到如何设置数据库连接参数,如何执行SQL查询,以及如何处理查询结果。 **使用CHM文件** CHM(Compiled Help Manual)是Microsoft的一种帮助文档格式,它将多个...
使用Pear Admin Think进行开发,需要具备PHP基础和ThinkPHP6框架的使用经验。开发流程大致如下: 1. 安装环境:确保服务器已配置好PHP7.1+、MySQL等必要环境。 2. 下载项目:获取Pear Admin Think源码,解压到...
- 例如,安装数据库连接组件可以使用 `pear install DB` 命令。 **使用 PEAR 组件**: - 在 PHP 文件中通过 `require_once 'path/to/PEAR/Component.php';` 引入所需组件。 - 调用组件中的函数或类来实现特定功能,...
3. **使用基本命令**: 掌握pear命令行工具的使用,如搜索、安装、更新和卸载包。 4. **探索类库**: 选择几个常用的类库,如DB或Mail,学习如何在项目中集成和使用它们。 5. **错误处理和自动加载**: 理解和实践...
PEAR提供了多个用于数据处理的包,例如DB(数据库抽象层)、MDB2(多数据库抽象层)、Table 和 Record。这些包可以帮助开发者更轻松地与不同类型的数据库进行交互,提高代码的可移植性和可维护性。 #### 日期处理 ...
这可能包括学习如何使用PEAR的DB类或者PDO_PEAR扩展来执行SQL查询,处理结果集,以及进行错误处理等。 "工具"标签则意味着我们将讨论PEAR作为一套工具集合的角色,它提供了许多预包装的类和函数,可以用来加速开发...
例如,使用 PEAR DB 模块可以将数据库连接字符串抽象出来,使代码更加易于维护和修改。 问题 2:不使用自动增量功能 不使用自动增量功能是另一个常见问题。自动增量功能可以自动为每条记录生成惟一标识符,避免了...
PEAR包含有用的软件库和应用程序,例如MDB2(数据库抽象),HTML_QuickForm(HTML表单管理),PhpDocumentor(自动文档生成器),DB_DataObject(数据访问抽象)等等。 浏览位于所有可用软件包,此列表在不断增长和...
在医信通平台的设计和实现中,作者们使用了PEAR代码库中的多个类库和函数,例如PEAR的DB类库、Auth类库等。 本文还介绍了医信通平台的实现效果。通过使用医信通平台,中小型医院可以快速开发自己的信息系统,减少了...
通过阅读`pear_manual_en.chm`,你可以学习到如何安装和配置PEAR,如何使用它的各种包,如DB(数据库操作)、Mail(邮件发送)和HTTP(HTTP请求处理)等。此外,手册还会详细介绍PEAR的编程规范和最佳实践。 接下来...
PEAR::DB::OO 是一个抽象层,用于访问面向对象范式中的数据库表。 它面向 PHP 开发人员,是用 PHP 编写的。 它建立在 PEAR 的过程数据库抽象层 (PEAR::DB) 之上——请参阅 http://pear.php.net。
在IT领域,Centreon是一款广泛使用的网络性能监控和管理解决方案,它可以帮助系统管理员实时监控网络设备、服务器和服务的状态。为了确保Centreon能正常运行并提供预期功能,它依赖于一些特定的插件和库。本篇文章将...