首頁 >php教程 >php手册 >数据抽象层-ADODB入门基础

数据抽象层-ADODB入门基础

WBOY
WBOY原創
2016-06-13 10:34:27822瀏覽

以前总是在水区混啊!没有发表什么文章!这次把自己以前写得文章给大家晒晒!呵呵老鸟不要看了!
ADODB 是 Active Data Objects Data Base 的简称,它是一种PHP存取数据库的中间函式组件。
使用 ADODB 最大的优点之一是:不管后端数据库如何,存取数据库的方式都是一致的,开发设计人员不必为了某一套数据库,而必须再学习另一套不同的存取方法,这大大减轻开发人员的知识负担,过去的知识往后仍可继续使用,转移数据库平台时,程序代码也不必做太大的更动。
这些是以前学习总结的一些例子!
复制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] . " ";
      $result->MoveNext();//movenext()数组向下移。
}//fields表示字段数组

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

$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代码:
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] . " ";
      $result->MoveNext();
}

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

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


我感觉最爽的还是有转换方法! rs2html();
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();
?>

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn