指南从MySQL转向ADODB的方法

2016-02-19 19:50 1 1 收藏

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

【 tulaoshi.com - 编程语言 】

  高级材料

  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)

  在上面的例子中,

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

  $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,并在不支持这项功能的数据库上模拟这个功能。

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

  缓存支持

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

来源:https://www.tulaoshi.com/n/20160219/1621938.html

延伸阅读
解决方法: 1。 改表法。 可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 代码如下: mysql -u root -pvmwaremysqluse mysql; mysqlupdate user set host = '%' where user = 'root'; mysqlselect host, u...
安装MySQL sudo apt-get install mysql-server 这个应该很简单了,而且我觉得大家在安装方面也没什么太大问题,所以也就不多说了,下面我们来讲讲配置。 配置MySQL 注意,在Ubuntu下MySQL缺省是只允许本地访问的,如果你要其他机器也能够访问的话,那么需要改变/etc/mysql/my.cnf配置文件了!下面我们一步步地来: ...
标签: MySQL mysql数据库
  mysql使用指南(上) 作者:大金刚   有很多朋友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从连接MYSQL、修改密码、增加用户等方面来学习一些MYSQL的常用命令。 一、连接MYSQL。 格式: mysql -h主机地址 -u用户名 -p用户密码 1、例1:连接到本机上的MYSQL。    首先在打开DOS窗口,...
标签: MySQL mysql数据库
  在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。 一、操作技巧   1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以...
先看看MySQL支持的SQL语句的分类 1,        数据库的选取,创建,丢弃和变更 use create database drap database alter database 2,        数据表和索引的创建,变更和丢弃 create table drop table create inde...

经验教程

877

收藏

41
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部