本文整理自网络,侵删。
11. 更新记录(Update)
您可以用传统的方式:
$sql ="UPDATE t SET name='john', year=28 WHERE year=18";
$conn->Execute($sql);
也可以用以下这种方式:
<?php
// 引入 ADODB
include('adodb/adodb.inc.php');
// 建立联机对象
$conn = &ADONewConnection('mysql');
// 侦错
$conn->debug=true;
// DSN 四项基本数据设定
$mch="localhost";
$user="piza";
$pwd="ooo123";
$database="test";
// 连接至数据库 test
$conn->PConnect($mch, $user, $pwd, $database);
// 选择要更新的那一笔记录
$sql = "select * from t where year=18";
$rs = $conn->Execute($sql);
// 用一个空数组来装要更新的数据
$r = array();
$r['name']='john';
$r['year']=28;
// 用 GetUpdateSQL 函式来制作一个完整的 sql 命令,此 sql 命令放在 $updateSQL 中
$updateSQL = $conn->GetUpdateSQL($rs, $r);
// 执行更新
$conn->Execute($updateSQL);
$conn->Close();
?>
侦错讯息如下:
-------------------------------------------------------------
(mysql): select * from t where year=18
-------------------------------------------------------------
(mysql): UPDATE t SET name = 'john', year = 28 WHERE year=18
-------------------------------------------------------------
12. 删除记录(Delete)
删除记录很简单,采传统方式即可: $sql = "DELETE FROM t WHERE year=18";
$rs = $conn->Execute($sql);
13. 使用字段对象(Field Objects)
这里示范字段对象 FetchField 的用法,用以取得字段名称及字段型态:
$sql = "select * from t";
$rs = &$conn->Execute($sql);
if ($rs) {
while (!$rs->EOF) {
// 取出第二个字段
$f = $rs->FetchField(1);
// 印出字段名称 及 字段型态
print $f->name . ":" . $f->type;
$rs->MoveNext();
print "<br>\n";
}
}
另外,ADODB 提供一个 RecordSet 函式 MetaType(),可将原始的字段型态转成一般型态代码:
C : 字符
X : text
B : blob
D : 日期
T : timestamp
L : 布尔值或位
I : 整数
N : 数字型态,包括:自动增加、数值、浮点数、实数及整数
R : serial、自动增加
用例:
$f = $rs->FetchField(1);
// 印出字段名称 及 字段型态的代码
print $f->name . ":" . $rs->MetaType($f->type);
14. 简单分页(Pager)
ADODB 提供一种简单分页显示记录的方法,使用前,要将 adodb-pager.inc.php 引入。
<?php
include('adodb/adodb.inc.php');
// 引入分页功能
include('adodb/adodb-pager.inc.php');
// 启动 session
session_start();
$db = ADONewConnection('mysql');
$mch="localhost";
$user="piza";
$pwd="ooo123";
$database="test";
$db->Connect($mch, $user, $pwd, $database);
$sql = "select * from t";
// 产生 pager 对象
$pager = new ADODB_Pager($db, $sql);
// 每一页秀 5 笔记录
$pager->Render($rows_per_page=5);
?>
结果如下:
Figure 1. 简单分页功能
每页显示记录的数目是由 Render() 来控制的,若没有传入指定的 row 数给 Render(),默认值每页秀 10 笔。
另外,字段名称也可以改变,如下示范:
<?php
include('adodb/adodb.inc.php');
// 引入分页功能
include('adodb/adodb-pager.inc.php');
// 启动 session
session_start();
$db = ADONewConnection('mysql');
相关阅读 >>
更多相关阅读请进入《sql》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。