查看: 4888|回复: 0
打印 上一主题 下一主题

数据抽象层->ADODB入门基础

[复制链接]
跳转到指定楼层
1#
发表于 2008-11-3 16:21:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
ADODB 是 Active Data Objects Data Base 的简称,它是一种PHP存取数据库的中间函式组件。
使用 ADODB 最大的优点之一是:不管后端数据库如何,存取数据库的方式都是一致的,开发设计人员不必为了某一套数据库,而必须再学习另一套不同的存取方法,这大大减轻开发人员的知识负担,过去的知识往后仍可继续使用,转移数据库平台时,程序代码也不必做太大的更动。
这些是以前学习总结的一些例子!
复制PHP内容到剪贴板
PHP代码:
<?php
include_once("libs/adodb/adodb.inc.php"); //包含adodb的文件

$db = NewADOConnection("mysql"); //建立哪个数据库的对象

$db->Connect("localhost", "root", "root", "mysql") or die("Unable to connect!"); //链接数据库

$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; //给全局变量赋值,表示下面可以弄关联数组(我的语言不怎么样)

$query = "SELECT * FROM user";
$result = $db->Execute($query) or die("Error in query: $query. " . $db->ErrorMsg());//(Execute执行SQL)

while (!$result->EOF) {
    echo $result->fields['use'] . " - " . $result->fields['pass'] . "\n";
      $result->MoveNext();//movenext()数组向下移。
}//fields表示字段数组

echo "\n[" . $result->RecordCount() . " 行记录被返回]\n";

$db->Close();//关闭链接
?>


这个例子是ADODB最简单的数据库操作!或者大家可以写个类来操作啊!
在adodb中提供3个函数,GetAll,GetOne,GetRow.
GetAll其实相当于execute,但是返回是2维数组。可以和SMARTY很好的操作。
GetOne,GetRow.是判读数据库的某个数据是否存在!
在ADODB中提供了SelectLimit这个函数!
因为在转移数据库的时候可能有些SQL语句不支持!ADODB用selectlimit来在底层帮我们实现!
例如:
$query = "SELECT * FROM library";
$result = $db->SelectLimit($query, 5, 3);
还有一点是ADODB有缓存机制。
提供了CacheExecute这个。呵呵看下例子吧!
PHP代码:
<?php
include("../libs/adodb/adodb.inc.php");

//设置缓存保存的路径,.表示当前目录
$ADODB_CACHE_DIR = 'tmp';
// 创建一个mysql连接实例对象
$db = NewADOConnection("mysql");

// 打开一个数据库连接
$db->Connect("localhost", "root", "root", "adodb") or die("不能连接");

// 构造并执行一个查询
$query = "SELECT * FROM user";
$result = $db->CacheExecute(300,$query) or die("SQL错误: $query. " . $db->ErrorMsg());//CacheExecute(300,$query)这个方法是300,表示缓存存在的时间。

// 遍历返回的记录集,显示列数据的内容 TITLE 和 AUTHOR
while (!$result->EOF) {
    echo $result->fields[1] . " - " . $result->fields[2] . "\n";
      $result->MoveNext();
}

// 取得和显示返回的记录行数
echo "\n[" . $result->RecordCount() . " 行记录被返回]\n";

// 关闭数据库连接
$db->Close();
?>


我感觉最爽的还是有转换方法! rs2html();
PHP代码:
<html>
<head></head>
<body>
<?php
include_once('../libs/adodb/adodb.inc.php');


include_once("../libs/adodb/tohtml.inc.php");

// 创建一个mysql连接实例对象
$db = NewADOConnection("mysql");

// 打开一个数据库连接
$db->Connect("localhost", "root", "root", "user") or die("数据库连接错误");

// 构造并执行一个查询
$query = "SELECT * FROM library";
$result = $db->Execute($query) or die("SQL错误: $query. " . $db->ErrorMsg());

// 返回一个HTML格式的表格
echo rs2html($result);//返回数据在表格里面自己看看吧!

// 关闭数据库连接
$db->Close();
?>
</body>
</html>

下面介绍几个常用的方法吧!
RecordCount()     取得和显示返回的记录行数
FieldCount()      取得和显示返回的字段个数
Insert_ID()       显示最好插入的ID
Affected_Rows()   显示执行完SQL后的被影响的行数
GetMenu()         生成下拉菜单!
好了只总结这么多啊!其实还有很多知识!
还有很多不足!希望老鸟不要笑话啊!
下次再给大家做补充吧!

论坛地址:http://bbs.phpchina.com/thread-83793-1-3.html

TAG: ADODB Adodb 入门 基础 数据抽象
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表