数据抽象层->ADODB入门基础
以前总是在水区混啊!没有发表什么文章!这次把自己以前写得文章给大家晒晒!呵呵老鸟不要看了!
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'] . "\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代码:
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代码:
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() 生成下拉菜单!
好了只总结这么多啊!其实还有很多知识!
还有很多不足!希望老鸟不要笑话啊!
下次再给大家做补充吧!