dob Adodb的十个实例清晰版
本想学pear的,可是网上看到的几篇帖子对adodb的评价相当高,所以改学了这个。
ADODB的优点有这几个(网上说的,不是我说的):
1、速度比pear快一倍;
2、支持的数据库类型比pear多很多,甚至可以支持ACCESS;
3、无须安装,无须服务器支持(对新手来说,这点很重要吧)
不知道adodb是什么或是想下载adodb的朋友可以去这个链接看看:http://www.phpe.net/class/106.shtml
另外,如果哪位兄弟翻译了README的全文或知道哪里有译文请给我回个帖,谢谢。
Tutorial
Example 1: Select Statement
任务: 连接一个名为Northwind的Access数据库, 显示 每条记录 的前两个字段.
在这个实例里, 我们新建了一个ADOC连接(ADOConnection)对象, 并用它来连接一个数据库. 这个连接采用PConnect 方法, 这是一个持久 连接. 当我们要查询数据 库时, 我们可以随时调 用这个连接的Execute()函数. 它会返回一个ADORecordSet对象 which is actually a cursor that holds the current row in the array fields[]. 我们使用MoveNext()从一个记录转向下一个记录 .
NB: 有一 个非常实用的函数 SelectLimit在本例中没有用到, 它可以控制显示的记录数(如只显示前十条记录 ,可用作分页显示 ).
PHP:--------------------------------------------------------------------------------
include('adodb.inc.php'); #载入ADOdb
$conn = &ADONewConnection('access'); # 新建一个连接
$conn->PConnect('northwind'); # 连接到一个名为northwind的MS-Access数据库
$recordSet = &$conn->Execute('select * from products'); #从products数据表中搜索所有数据
if (!$recordSet)
print $conn->ErrorMsg(); //如果数据搜索发生错误显示错误信息
else
while (!$recordSet->EOF) {
print $recordSet->fields[0].' '.$recordSet->fields[1].'
';
$recordSet->MoveNext(); //指向下一个记录
} //列表显示数据
$recordSet->Close(); //可选
$conn->Close(); //可选
?>
--------------------------------------------------------------------------------
$recordSet在$recordSet->fields中返回当前数组, 对字段进行数字索引(从0开始). 我们用MoveNext() 函数移动到下一个记录 . 当数据库搜索到结尾时EOF property被 设置 为true. 如果Execute()发生错误 , recordset返回flase.
$recordSet->fields[]数组产生于PHP的数据库扩展。有些数据库扩展只能按数字索引而不能按字段名索引.如果坚持要使用字段名索引,则应采用SetFetchMode函数.无论采用哪种格式索引,recordset都可以由Execute()或SelectLimit()创建。
PHP:--------------------------------------------------------------------------------
$db->SetFetchMode(ADODB_FETCH_NUM);
$rs1 = $db->Execute('select * from table'); //采用数字索引
$db->SetFetchMode(ADODB_FETCH_ASSOC);
$rs2 = $db->Execute('select * from table'); //采用字段名索引
print_r($rs1->fields); # shows array([0]=>'v0',[1] =>'v1')
print_r($rs2->fields); # shows array(['col1']=>'v0',['col2'] =>'v1')--------------------------------------------------------------------------------
如果要获取记录号,你可以使用$recordSet->RecordCount()。如果没有当前记录则返回-1。
实例 2: Advanced Select with Field Objects
搜索表格,显示前两个字段. 如果第二个字段是时间或日期格式,则将其改为美国标准时间格式显示.
PHP:--------------------------------------------------------------------------------
include('adodb.inc.php'); ///载入adodb
$conn = &ADONewConnection('access'); //新建一个连接
$conn->PConnect('northwind'); //连接名为northwind的MS-Access数据库
$recordSet = &$conn->Execute('select CustomerID,OrderDate from Orders'); //从Orders表中搜索CustomerID和OrderDate两个字段
if (!$recordSet)
print $conn->ErrorMsg(); //如果数据库搜索错误,显示错误信息
else
while (!$recordSet->EOF) {
$fld = $recordSet->FetchField(1); //把第二个字段赋值给$fld
$type = $recordSet->MetaType($fld->type); //取字段值的格式
if ( $type == 'D' || $type == 'T')
print $recordSet->fields[0].' '.
$recordSet->UserDate($recordSet->fields[1],'m/d/Y').'
'; //如果字段格式为日期或时间型,使其以美国标准格式输出
else
print $recordSet->fields[0].' '.$recordSet->fields[1].'
'; //否则以原样输出
$recordSet->MoveNext(); //指向下一个记录
}
$recordSet->Close(); //可选
$conn->Close(); //可选
?>
--------------------------------------------------------------------------------
在这个例子里, 我们用FetchField()函数检查了第二个字段的格式. 它返回了一个包含三个变量的对象
name: 字段名
type: 字段在其数据库中的真实格式
max_length:字段最大长度,部分数据库不会返回这个值,比如MYSQL,这种情况下max_length值等于-1.
我们使用MetaType()把字段的数据库格式转化为标准的字段格式
C: 字符型字段,它应该可以在标签下显示.
X: 文本型字段,存放比较大的文本,一般作用于

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸
