`
sibyl_pisces
  • 浏览: 141178 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

常用的php ADODB使用方法集锦

    博客分类:
  • PHP
 
阅读更多

<?php 

//定义数据库变量 
$DB_TYPE = "mysql"; 
$DB_HOST = "localhost"; 
$DB_USER = "root"; 
$DB_PASS = ""; 
$DB_DATABASE = "ai-part"; 
require_once("../adodb/adodb.inc.php"); 
$db = NewADOConnection("$DB_TYPE");//建立数据库对象 
$db->debug = true;//数据库的DEBUG测试,默认值是false 
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;//返回的记录集形式,关联形式 
/*** 
返回的记录集形式 
define('ADODB_FETCH_DEFAULT',0); 
define('ADODB_FETCH_NUM',1); 
define('ADODB_FETCH_ASSOC',2); 
define('ADODB_FETCH_BOTH',3); 
以上常量,在adodb.inc.php里定义了,也就是可用"$ADODB_FETCH_MODE=2"方式 
ADODB_FETCH_NUM 返回的记录集中的索引,是数字形式,即数据库字段的排序顺序值 
ADODB_FETCH_ASSOC 返回的记录集中的索引,是原数据库字段名 
ADODB_FETCH_BOTH 和 ADODB_FETCH_DEFAULT 是同时返回以上两种。某些数据库不支持 
An example: 
$ADODB_FETCH_MODE = ADODB_FETCH_NUM; 
$rs1 = $db->Execute('select * from table'); 
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; 
$rs2 = $db->Execute('select * from table'); 
print_r($rs1->fields); # 返回的数组是: array([0]=>'v0',[1] =>'v1') 
print_r($rs2->fields); # 返回的数组是: array(['col1']=>'v0',['col2'] =>'v1') 
***/ 

//连接数据库,方法有Connect,PConnect,NConnect,一般使用Connect 
if (!@$db->Connect("$DB_HOST", "$DB_USER", "$DB_PASS", "$DB_DATABASE")) { 
exit('<a href="/">服务器忙,请稍候再访问</a>'); 
} 

/* 
$db-> $rs-> 此类的使用方法 
Execute($sql),执行参数中的$sql语句 
SelectLimit($sql,$numrows=-1,$offset=-1) $numrows:取几条记录,$offset,从第几条开始取,一般是用于分页,或只取出几条记录的时候用 
*/ 
//Example: 取出多个记录 
$sql = "Select * FROM table orDER BY id DESC"; 
if (!$rs = $db->Execute($sql)) {//执行SQL语句,并把结果返回给$rs变量 
echo $db->ErrorMsg();//这个是打印出错信息 
$db->Close();//关闭数据库 
exit(); 
} 
while (!$rs->EOF) {//遍历记录集 
echo $rs->fields['username'] . '<br>'; 
//print_r($rs->fields)试试,$rs->fields['字段名'],返回的是这个字段里的值 
$rs->MoveNext();//将指针指到下一条记录,否则出现死循环! 
} 
$rs->Close();//关闭以便释放内存 

//插入新记录 
$sql = "Insert table (user_type,username) VALUES (3, 'liucheng')"; 
$db->Execute($sql); 

//更新记录 
$sql = "Update table SET user_type=3 Where id=2"; 
$db->Execute($sql); 

//删除记录 
$sql = "Delete FROM table Where id=2"; 
$db->Execute($sql); 

// 取单个记录 
//$db->GetRow($sql), 取第一条记录,并返回一个数组,出错返回false 
$sql = "Select username,password,user_type FROM table Where id=3"; 
$data_ary = $db->GetRow($sql); 
if ($data_ary == false) { 
echo '没有找到此记录'; 
exit(); 
} else { 
echo $data_ary['username'] . ' ' . $data_ary['password'] . ' ' . $data_ary['user_type'] . '<br>'; 
} 

//另一种方法 
$sql = "Select username,password,user_type FROM table Where id=3"; 
if (!$rs = $db->Execute($sql)) { 
echo $db->ErrorMsg(); 
$db->Close(); 
exit(); 
} 
if (!$result = $rs->FetchRow()) { 
echo '没有找到此记录'; 
exit(); 
} else { 
echo $result['username'] . ' ' . $result['password'] . ' ' . $result['user_type'] . '<br>'; 
} 

// 取单个字段 
//$db->GetOne($sql) 取出第一条记录的第一个字段的值,出错则返回false 
$sql = "Select COUNT(id) FROM table"; 
$record_nums = $db->GetOne($sql); 
echo $record_nums; 
$sql = "Select username,password,user_type FROM table Where user_id=1"; 
$result = $db->GetOne($sql); 
echo $result;//打印出username的值 
/* 
在进行添加,修改,删除记录操作时, 
要对字符串型的字段,使用$db->qstr()对用户输入的字符进行处理, 
对数字型字段,要进行数据判断 
更新记录,注意:这是针对php.ini中,magic_quotes被设置为Off的情况,如果不确定,可以使用 
$db->qstr($content,get_magic_quotes_gpc()) 
注意:content= 等号右边,没有单引号 
*/ 
$sql = "Update table SET content=" . $db->qstr($content) . " Where id=2"; 
$db->Execute($sql); 


/*$db->Insert_ID(),无参数,返回刚刚插入的那条记录的ID值,仅支持部分数据库,带auto-increment功能的数据库,如PostgreSQL, MySQL 和 MS SQL 
*/ 
//Example: 
$sql = "Insert table (user_type,username) VALUES (3, 'liucheng')"; 
$db->Execute($sql); 
$data_id = $db->Insert_ID(); 
echo $data_id; 

/*$db->GenID($seqName = 'adodbseq',$startID=1),产生一个ID值.$seqName:用于产生此ID的数据库表名,$startID:起始值,一般不用设置,它会把$seqName中的值自动加1.支持部分数据库,某些数据库不支持 

Insert_ID,GenID,一般我用GenID,使用它的目的,是在插入记录后,要马上得到它的ID时,才用 
*/ 
/*Example: 
先创建一个列名为user_id_seq的表,里面只有一个字段,id,int(10),NOT NULL,然后插入一条值为0的记录 
*/ 
$user_id = $db->GenID('user_id_seq'); 
$sql = "Insert table (id, user_type,username) VALUES (" . $user_id . ", 3, 'liucheng')"; 
$db->Execute($sql); 

/* 
$rs->RecordCount(),取出记录集总数,无参数 
它好像是把取出的记录集,用count()数组的方法,取得数据的数量 
如果取大量数据,效率比较慢,建议使用SQL里的COUNT(*)的方法 
$sql = "Select COUNT(*) FROM table", 用此方法时,不要在SQL里加ORDER BY,那样会降低执行速度 

Example: 
*/ 
$sql = "Select * FROM table orDER BY id DESC"; 
if (!$rs = $db->Execute($sql)) { 
echo $db->ErrorMsg(); 
$db->Close(); 
exit(); 
} 
$record_nums = $rs->RecordCount(); 

/* 
如果想对某一结果集,要进行两次同样的循环处理,可以用下面方法 
以下,只是一个例子,只为说明$rs->MoveFirst()的使用方法 
*/ 
$sql = "Select * FROM table orDER BY id DESC"; 
if (!$rs = $db->Execute($sql)) { 
echo $db->ErrorMsg(); 
$db->Close(); 
exit(); 
} 
$username_ary = array(); 
while (!$rs->EOF) { 
$username_ary[] = $rs->fields['username'] 
echo $rs->fields['username'] . '<br>';//print_r($rs->fields)试试,$rs->fields['字段名'],返回的是这个字段里的值 
$rs->MoveNext();//将指针指到下一条记录,不用的话,会出现死循环! 
} 
$username_ary = array_unique($username_ary); 

$rs->MoveFirst();//将指针指回第一条记录 
while (!$rs->EOF) { 
echo $rs->fields['password'] . '<br>';//print_r($rs->fields)试试,$rs->fields['字段名'],返回的是这个字段里的值 
$rs->MoveNext();//将指针指到下一条记录 
} 
$rs->Close(); 

//当本页程序,对数据库的操作完毕后,要$db->Close(); 
$db->Close(); 

/*一个不错的方法 */ 
if (isset($db)) { 
$db->Close(); 
} 
?> 
 
分享到:
评论

相关推荐

    PHP ADODB使用手册

    PHP ADODB使用手册,下载使用php等配置,值得学习

    php adodb中文说明手册

    php adodb中文说明手册,包括配置,所有方法操作的使用技巧。

    php adodb文件包

    php adodb文件包配合之前发的php adodb文档使用的

    PHP的adodb类库

    PHP的adodb5类库

    PHP ADODB 操作文档

    ADODB 是一个强大的 PHP 类库,提供了完整的方法和属性,可以用来控制数据库系统,更棒的是你只要记得它的功能即可,因为不同的数据库系统,只要修改一个属性值,ADODB 就会自动依据设定取用正确的PHP 函数。...

    PHP adodb开发手册

    php for adodb手册得配合php adodb语言包使用,可以加强php数据库的可移植性,抛弃了传统的odbc连接方式,整合调用adodb调用方法,统一了php调用数据库的方式,加快了数据的缓存模式。

    PHP adodb5 数据库操作类

    PHP adodb5 数据库操作类 PHP adodb5 数据库操作类 PHP adodb5 数据库操作类

    php_ADODB手册

    php_ADODB手册,详细说明了php的ADODB的操作. ADODB目前支援MySQL, Oracle, Microsoft SQL Server, Sybase, Sybase SQL Anywhere, Informix, PostgreSQL, FrontBase, Interbase (Firebird 及 Borland 版本), Foxpro, ...

    php 使用ADODB操作MYSQL

    php 使用ADODB操作MYSQL ,存取,生成html表格,分页,出错处理

    php adodb类库资源

    php 需要使用的最新adodb 5.20.6 资源类库

    adodb代码 phpadodb

    adodb adodb5 phpadodb 数据库adodb

    ADODB for PHP 5 全功能版

    使用 ADODB 最大的优点之一是:不管后端数据库如何,存取数据库的方式都是一致的,开发设计人员不必为了某一套数据库,而必须再学习另一套不同的存取方法,这大大减轻开发人员的知识负担,过去的知识往后仍可继续...

    php Adodb数据库引擎

    1、ADODB 在PHP中规范各类数据库的链接和使用 2、ADODB 帮助我们在PHP提供开发效率和快速转换各类数据库 3、ADODB 使用相对简单,容易上手 4、ADODB 写作要求有时要求比较严谨,注意大小写。 5、ADODB 内置函数比较...

    php操作数据库的adodb类库

    一个 php使用adodb类库操作数据库-类的封装,分数据库连接类和数据库管理类,为成员变量赋值,实现与不同数据库的连接并返回连接对象,定义方法,参数为SQl语句和连接数据库返回的对象。 立即下载

    ADODB for PHP 5.zip

    ADODB for PHP 5.zip

    php adodb手册(详细)

    adodb手册 php 数据库类 adodb手册 php 数据库类

    PHP ADODB 1.99版手册中文翻译

    PHP ADODB 1.99版手册中文翻译

    adodb

    php adodb 数据处理

Global site tag (gtag.js) - Google Analytics