高级材料

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, MicrosoftSQL 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作为商业用途!因为上述的原因我们内部也正在使用它。

相关标签: 数据库

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql adodb_指南从MySQL转向ADODB的方法_MySQL相关推荐

  1. mysql adodb_关于从MySQL转向ADODB的方法

    高级材料 Insert 和 Update 假设现在你要把下面的数据插入到数据库中. ID = 3 TheDate=mktime(0,0,0,8,31,2001) /* 31st August 2001 ...

  2. php与mysql权威指南_PHP+MySQL全能权威指南

    <PHP+MySQL全能权威指南> 第1篇PHP动态网站和PHP程序语言基础入门篇 第1章准备基础知识.开发环境及配置运行环境 1.1正确认识PHP动态网站开发 1.2安装和配置PHP动态 ...

  3. mysql去重的最方便的两种方法_mysql去重的最方便的两种方法

    参考资料:http://blog.csdn.net/guocuifang655/article/details/3993612 方法一: 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然m ...

  4. mysql导出trigger_用mysqldump导出Trigger问题解决方法_MySQL

    mysqldump 描述如下: 用mysqldump 导出 Trigger 的时候遇到一个问题,贴出来,以免大家犯错. 在执行下面的操作时: [root@ytt ~]# /usr/local/mysq ...

  5. mysql 游标原理_SQL 游标原理和使用方法_MySQL

    bitsCN.com 在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句.但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录. ...

  6. mysql 客户服务号获取_《MySQL排错指南》——1.4 获取查询信息-阿里云开发者社区...

    本节书摘来自异步社区出版社<MySQL排错指南>一书中的第1章,第1.4节,作者:[美]Sveta Smirnova(斯维特 斯米尔诺娃),更多章节内容可以访问云栖社区"异步社区 ...

  7. 《MySQL排错指南》——1.9 许可问题

    本节书摘来自异步社区出版社<MySQL排错指南>一书中的第1章,第1.9节,作者:[美]Sveta Smirnova(斯维特 斯米尔诺娃),更多章节内容可以访问云栖社区"异步社区 ...

  8. mysql访问类型最好的_【干货满满】最全的MySQL性能指南(一):选择最佳的数据类型...

    对于 MySQL 数据库来说,好的逻辑表和物理表的规划至关重要,我们需要根据查询语句来针对性地设计 Schema ,没有万能好用的 Schema.一个 denormalized 的 schema 可以 ...

  9. 神了!阿里数据库专家纯手写了这份604页的Oracle+MySQL攻坚指南

    为什么要学习Oracle+MySQL? Oracle在金融.电信.交通.医疗.制造业.能源等诸多领域的使用非常广泛,其拥有完善的生态体系,多样化的数据库选件,在高可用性.高性能.高安全性.高数据服务能 ...

  10. 神了,阿里数据库专家纯手写了这份604页的Oracle+MySQL攻坚指南

    为什么要学习Oracle+MySQL? Oracle在金融.电信.交通.医疗.制造业.能源等诸多领域的使用非常广泛,其拥有完善的生态体系,多样化的数据库选件,在高可用性.高性能.高安全性.高数据服务能 ...

最新文章

  1. 图元变形lisp源码_AutoLISP入门6---图元资料的取得与活用技巧(一).pdf
  2. 被解救的代码 - 代码即服务时代来了!
  3. java i o中文版_Java文件I/O的三种方法
  4. Linux基线合规检查中各文件的作用及配置脚本
  5. php函数方法,基于PHP函数的操作方法
  6. html 图片上放置按钮,用CSS在图片上再加一个小按钮
  7. pubwin2009升级教程
  8. Editplus 的配色方案
  9. SQL Where子句
  10. AWS SageMaker机器学习训练营听课总结
  11. web前端基础复习_day07_JavaScript高级
  12. Verilog 7人投票表决器
  13. html 文件 转换成mp4视频,[swf转视频]一个带有Play播放按钮的swf文件怎么转换成mp4视频...
  14. 【有关数据库的问题】运行时错误‘3706’:未找到提供程序。该程序可能未正确安装。
  15. 免费WiFi上网软件是什么?怎么用?
  16. ae合成设置快捷键_ae技巧,使用ae实用小技巧
  17. B站弹幕姬,弹幕礼物感谢,关注感谢,自动回复,房管工具,房管助手,基于java
  18. Docker容器基础
  19. 九轴传感器MPU9250数据读取磁力计
  20. PTA(三十三)面向对象程序设计 第五章 作业 7-4 分钟秒钟的时间相减 (30 point(s))

热门文章

  1. 好看的php表格样式,HTML5制作表格样式
  2. 达信:深度解读COSO新版企业风险管理框架(ERM)
  3. Html软件进度计划,施工进度计划表软件
  4. 如何选择合适的代理IP?以下3点需要注意
  5. 极光笔记丨搭建UMS私有云文件服务器
  6. 李宏毅 || 机器学习笔记一
  7. 《Java大学教程》—第24章 Java的背景
  8. linux 中文字体 推荐,适合阅读的中文字体
  9. Linux CentOS 7 Apache Tomcat 7 安装与配置
  10. GB35114视频流处理