Home >Backend Development >PHP Tutorial >数据抽象层->ADODB入门基础

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

WBOY
WBOYOriginal
2016-05-19 15:12:091428browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:PHP中XML-RPC构造Web ServiceNext article:NuSOAP教程