0
0
高级材料
Insert 和 Update
假设现在你要把下面的数据插入到数据库中.
ID = 3
TheDate=mktime(0,0,0,8,31,2001) /* 31st August 2001 */
Note= sugar why don't we call it off
当你使用另外一个数据库的时候,你的插入操作可能不会成功。
第一个问题是每个数据库都有不同的默认日期格式。MySQL默认格式是YYYY-MM-DD ,
然而其它数据库有不同的默认格式。ADODB有一个DBDate()的函数,它能将日期转
换成正确的格式。
接下来的一个问题是Note字段值里的don't 应该作为引文。在MySQL中,使用
don\'t 来解决这个问题,但在一些其它的数据库中(Sybase, Access, Microsoft
SQL Server)使用don''t 。qstr()解决了这个问题。
那么我们怎么使用这个函数呢? 像下面这样:
$sql = "INSERT INTO table (id, thedate,note) values (" . $ID . ',' . $db->DBDate($TheDate) .',' . $db->qstr($Note).")";$db->Execute($sql);ADODB 也支持 $connection->Affected_Rows() (返回上次update或delete操作影响的
行数) 和 $recordset->Insert_ID() (返回insert声明生成的上一个自增编号)。但要
说明的是不是所有的数据库都支持这两个函数。
MetaTypes
你可以找到更多关于你调用recordset的方法FetchField($fieldoffset)所选择的每个
字段(我同时使用字段和列这两个词)的信息。它将返回一个有三个属性(名称,类
型和最大长度)的对象。
例如:$recordset = $conn->Execute("select adate from table");
$f0 = $recordset->FetchField(0);那么 $f0->name 的值将被设为 'adata', $f0->type 的值将被设为 'date'. 如果
max_length 未知,它被设为-1。
处理不同类型的数据库的一个问题是每个数据库常常用不同的名字来调用相同的类型。
例如timestamp 类型在某一个数据库中叫做datetime 类型,而在另一个是叫做time
类型。 因此 ADODB 有个专门的 MetaType($type, $max_length) 函数对下面的类型
进行标准化:
C: character 和 varchar 类型
X: text 或者 long character (例如.多于255 字节宽度).
B: blob 或者 binary 图像
D: date
T: timestamp
L: logical (boolean)
I: integer
N: numeric (float, double, money)
在上面的例子中,
$recordset = $conn->Execute("select adate from table");
$f0 = $recordset->FetchField(0);
$type = $recordset->MetaType($f0->type, $f0->max_length);
print $type; /* 应该显示 'D' */
Select Limit 和 Top 支持
ADODB 有一个叫$connection->SelectLimit($sql,$nrows,$offset)的函数,它允许你
获得一个记录集(recordset)的子集。它会在Microsoft产品上使用本地的SELECT TOP,
在PostgreSQL和MySQL上使用SELECT ... LIMIT,并在不支持这项功能的数据库上模拟
这个功能。
缓存支持
ADODB 允许你在你的文件系统上缓存记录集结果,只需用$connection->CacheExecute($secs2cache,$sql)
和$connection->CacheSelectLimit($secs2cache,$sql,$nrows,$offset)在指定的超时
时间段后重新向数据库服务器发出查询。
PHP4 Session 处理接口支持
ADODB 也支持PHP4 session 处理接口. 你可以使用ADODB在一个数据库中存储你的
session变量。要获得更多下信息,访问http://php.weblogs.com/adodb-sessions
鼓励作为商业用途
如果你正计划编写你要转售的商业PHP软件产品,你应该考虑ADODB。ADODB使用GPL发
布。这意味这你也可以在商业软件中合法的使用它,同时保持你的代码所有权。十分
鼓励ADODB作为商业用途!因为上述的原因我们内部也正在使用它。
结束语
作为你能耐心的看完这篇文章的答谢,下面是let's call the whole thing off 的
相关文章
mysql FIND IN SET是什么_mysql字符串集合函数讲解
mysql主从复制中slave延迟多久算异常_mysql延迟监控方法
mysql InnoDB存储引擎有什么特点_mysql引擎特性解析
mysql中的错误日志配置与日志级别选择
mysql数据库中存储过程的创建与调试
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
本专题围绕 Archive of Our Own(AO3)官网入口展开,系统整理 AO3 最新可用官网地址、网页版访问方式、正确打开链接的方法,并详细讲解 AO3 中文界面设置、阅读语言切换及基础使用流程,帮助用户稳定访问 AO3 官网,高效完成中文阅读与作品浏览。
91
2026.02.02
本专题聚合极兔快递、京东快递、中通快递、圆通快递、韵达快递等主流物流平台的单号查询与运单追踪内容,重点解决单号查询、手机号查物流、官网入口直达、包裹进度实时追踪等高频问题,帮助用户快速获取最新物流状态,提升查件效率与使用体验。
27
2026.02.02
本专题系统讲解 Golang 在 WebAssembly(WASM)开发中的实践方法,涵盖 WASM 基础原理、Go 编译到 WASM 的流程、与 JavaScript 的交互方式、性能与体积优化,以及典型应用场景(如前端计算、跨平台模块)。帮助开发者掌握 Go 在新一代 Web 技术栈中的应用能力。
11
2026.02.02
本专题聚焦 PHP Swoole 扩展在高性能服务端开发中的应用,系统讲解协程模型、异步IO、TCP/HTTP/WebSocket服务器、进程与任务管理、常驻内存架构设计。通过实战案例,帮助开发者掌握 使用 PHP 构建高并发、低延迟服务端应用的工程化能力。
5
2026.02.02
本专题系统讲解 Java 通过 JNI 调用 C/C++ 本地代码的核心机制,涵盖 JNI 基本原理、数据类型映射、内存管理、异常处理、性能优化策略以及典型应用场景(如高性能计算、底层库封装)。通过实战示例,帮助开发者掌握 Java 与本地代码混合开发的完整流程。
5
2026.02.02
热门下载
相关下载
精品课程




