指南从MySQL转向ADODB的方法

唯爱你XM

唯爱你XM

2016-02-19 19:50

有了下面这个指南从MySQL转向ADODB的方法教程,不懂指南从MySQL转向ADODB的方法的也能装懂了,赶紧get起来装逼一下吧!

  高级材料

  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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  你可以找到更多关于你调用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 支持

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

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

展开更多 50%)
分享

猜你喜欢

指南从MySQL转向ADODB的方法

编程语言 网络编程
指南从MySQL转向ADODB的方法

从编译到工具:几种mysql的优化方法

编程语言 网络编程
从编译到工具:几种mysql的优化方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

从其他电脑访问本机的Mysql的设置方法

编程语言 网络编程
从其他电脑访问本机的Mysql的设置方法

转向

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
转向

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

MySQL菜鸟入门指南

MySQL mysql数据库
MySQL菜鸟入门指南

mysql同步复制搭建方法指南详细步骤

编程语言 网络编程
mysql同步复制搭建方法指南详细步骤

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

寂落滿城傷原创多类型QQ分组_不让眼泪轻易的流

寂落滿城傷原创多类型QQ分组_不让眼泪轻易的流

css文字重复ie bug导致文字的奇怪复制

css文字重复ie bug导致文字的奇怪复制
下拉加载更多内容 ↓