adodb 是 active data objects data base 的简称,它是一种 php 存取数据库的中间函式组件。
虽然 php 是建构 web 系统强有力的工具,但是 php 存取数据库的功能,一直未能标准化,每一种数据库,都使用另一种不同且不兼容的应用程序接口(api)。为了填补这个缺憾,因此才有 adodb 的出现。一旦存取数据库的接口予以标准化,就能隐藏各种数据库的差异,若欲转换至其它不同的数据库,将变得十分容易。
目前 adodb最新版本是v5.16,支持的数据库种类非常的多,例如:mysql, postgresql, interbase, informix, oracle, ms sql 7, foxpro, access, ado, sybase, db2 以及一般的 odbc (其中 postgresql、informix、sybase 的driver 是由自由软件社群发展之后贡献出来的)。
使用 adodb 最大的优点之一是:不管后端数据库如何,存取数据库的方式都是一致的,开发设计人员不必为了某一套数据库,而必须再学习另一套不同的存取方法,这大大减轻开发人员的知识负担,过去的知识往后仍可继续使用,转移数据库平台时,程序代码也不必做太大的更动。
其实 adodb 这样的发展理念,并不是首创的,dbi 比 adodb 出现得更早,它提供 perl 存取数据库时,使用一致的 api 呼叫接口。相信用过 perl + dbi 的朋友,再来用 adodb 时,会有一种似曾相识的感觉。
另外,adodb 对用过 asp 的人而言,应该不陌生,这类朋友对 adodb 应该很容易接受。
//假设数据库名字为 a 表名为b
//包含adodb类
include_once("adodb.inc.php");
//链接数据库的类型----------------------链接方式1
$db=newadoconnection("mysql");
$db->connect("localhost","root","my123","a")or die("链接数据库错误");
//------------------------------------------链接方式2
//$db-//>newadoconnection("mysql://root:my123@localhost/b")
//设置字符集
$db->excute("set names 'utf8' ");
//查询
$query=$db->execute("select *from b");
while($row=$query->fetchrow()){
print_r($row);
}
//插入
$arr=array(
'name'=>'one',
'age' =>'18',
'sex' =>'boy',
)
$db->autoexecute('b',$arr,'insert');//insert 大写
//更新
$sql="update b set name='wo' where id='1' ";
$db->execute($sql);
//adodb实现分页
include_once("adodb.inc.php");
include_once("adodb-page.inc.php");
session_start; //使用session保存分页;
//以地址的方式链接
$db=newadoconnection("mysql://root:my123@localhost/b");
$sql="select *from b";
$page=new adodb_pager($sql);
$page->reader(3);
// 以表格的形式展现
include_once("tohtml.inc.php");
$db=newadoconnection("mysql");
$db->connect("localhost",'root','my123','a');
$query=$db->execute("select *from b");
echo rs2html($query);
以上就是php adodb的用法的详细内容。