PHP ADODB 1.99版手册中文翻译 <修正版>
感谢
记事PHP ADODB 1.99版手册中文翻译 <修正版>
感谢
记事
PHP ADODB 1.99版手册中文翻译
翻译作者:Tripc
修正作者:heiyeluren
----------------------------------------------
修正说明:因为之前的版本是台湾版的,所以很多语句不符合大陆的使用习惯,于是我稍微用Editplus修正了一下,希望给学习ADODB的同志们一个参考。
(heiyeluren修正于2005-6-22)
ADODB
PHP 在数据库的支持上是很令人称道的,几乎所有的知名数据库系统都有对应的函数群支持,而且支持的很完整。但很不幸的,每一群数据库支持函数无论在名称或参数结构上,都有很大的差异,这使得PHP的系统开发者在面临更换数据库时,总会觉得痛苦万分。难道这个问题就没有解决方法吗?呵呵,当然有,答案就是我现在要介绍的 ADODB 这个PHP物件。
ADODB提供了完整的方法和属性让工程师去控制数据库系统,更棒的是你只要记得它的功能就好了,因为不同的数据库系统,只要修改一个属性值就可以了,ADODB会自动依据设定取用正确的PHP函数。此外,最多再配合数据库系统修改修改SQL指令,你的PHP系统就可以在最短的时间内更换到另一个数据库系统了,如果在编写程序时,对SQL指令能做妥善规划,那就更快了。
经过以上的介绍,相信你已经对ADODB的功用有所了解,以下为ADODB的详细介绍。
取得ADODB
你可以在 http://php.weblogs.com/ADOdb 取得最新版的ADODB。我在编写本文时,最新版本是1.99版,版权采BSD-Style及LGPL双轨制,换句话就是Freeware,没有什么限制。但在取得ADODB后,最好还是要看一下相关版权说明及用法,并和本文对照一下,以免错误。
使用ADODB
基本上使用ADODB是相当容易的,取得压缩文件后解开,我建议将整个内容都解到ADODB的目录里。然后你可以一边参考本文,一边研究里面的范例,就放在里面的test目录下。
由于ADODB附上的说明十分完整详实,以下的说明大部份来自ADODB的readme.htm,这里不是全部的内容,我把一些我认为没有用的内容都去掉了,像版本差异说明、何编写支持ADODB的驱动程序等与应用无关的部份。想要了解全部内容的读者还是可以自己去参考 readme.htm。
简介
特色
安装
启动ADODB
ADONewConnection
NewADOConnection
支持的数据库
学习手册
范例 1 : Select
范例 2 : 进阶 Select
范例 3 : Insert
范例 4 : 除错及 rs2html 范例
范例 5 : MySQL 及选单
范例 6 : 一次连接两个数据库
范例 7 : 产生更新及新增的SQL指令
范例 8 : 用下一笔及上一笔实作卷动
客制化错误处理及PEAR错误
数据集快取
参考手册
ADOConnection
连接数据库:Connect PConnect
执行SQL:Execute CacheExecute SelectLimit CacheSelectLimit Prepare PrepareSP GetOne GetRow
产生 更新/新增:GetUpdateSQL GetInsertSQL
BLOB : UpdateBlob UpdateClob UpdateBlobFile
换页/卷页 : PageExecute CachePageExecute
清除 : CacheFlush Close
交易 : BeginTrans CommitTrans RollbackTrans
提取数据 : $ADODB_FETCH_MODE BlankRecordSet
字串 : Concat qstr
日期 : DBDate DBTimeStamp UnixDate UnixTimeStamp
"列"管理器 : Affected_Rows Insert_ID GenID
错误处理 : ErrorMsg ErrorNo
数据辞典 : MetaDatabases MetaTables MetaColumns MetaColumnNames
反对 : Bind (? 没有说明)
ADORecordSet
取单笔记录 : FetchRow FetchInto FetchObject FetchNextObject GetRowAssoc Fields GetAssoc
取全部记录 : GetArray GetRows
卷动 : Move MoveNext MoveFirst MoveLast AbsolutePosition CurrentRow AtFirstPage AtLastPage AbsolutePage
选单制作 : GetMenu GetMenu2
日期 : UserDate UserTimeStamp UnixDate UnixTimeStamp
记录信息 : RecordCount PO_RecordSet
字段信息 : FieldCount FetchField MetaType
清除 : Close
rs2html 公用函式说明 范例
简介
由于PHP的数据库存取函数没有标准化,所以我们需要一组函数库或是类别来隐藏不同数据库函数介面间的差异,让我们可以很简单的去切换数据库,而这,就是ADODB的目的。
ADODB目前支持MySQL, Oracle, Microsoft SQL Server, Sybase, Sybase SQL Anywhere, Informix, PostgreSQL, FrontBase, Interbase (Firebird 及 Borland 版本), Foxpro, Access, ADO 和 ODBC。ADODB也有透过ODBC成功连接Progress及DB2的报告,我们希望能有更的人提供驱动介面来支持更多的数据库。
PHP4支持连接变量(session variables),使用者可以透过ADODB保存连接信息,以达成真正的可携性及弹性,相关的用法及信息请自行参考ADOdb-session.php这个范例。
另外,如果要编写一个具有高度可移植性的SQL码,也可以参阅 http://php.weblogs.com/portable_sql 这篇文章。
特色
对熟悉Windows的工程师而言,ADODB很容易使用,因为ADODB里的很多功能和Microsoft的ADO很像。
与其它的PHP数据库类别不同,它们大多集中在处理与 select 指令有关的东西,而ADODB对于 inserts 及 update 也提供额外的支持,并且可以很快的连接到多数据库。所提供的方法更扩及日期的掌握,字串的连接及字串标记字元差异处理(在某些数据库间字串的连接和标记符号是有差异的)
类型对照系统是内建的,所以我们可以设定或描述像CHAR,TEXT及STRING在不同的数据库间其实是相同的数据类型。
更容易去移植,因为所有与数据库相依的程序码被都隐藏在后端,所以使用者不再需要去移植类别里的逻辑。
支持 PHP4 连接变量,请参考 ADOdb-session.php。
安装
首先要确定你所使用的PHP版本是 4.01pl2 或是之后的版本(因为ADODB使用到了 require_once及include_once两个函数)。解压缩全部的文件到你的Web服务器可以存取的一个目录里。
要测试ADODB你需要一个数据库,开启 testdatabase.inc.php 这个文件,并且修改连接参数,以适合你所使用的数据库。这个程序会建立一个新的数据表在你的数据库中,以支持我们提供的测试程序及范例。
就这样,你安装好了。
启动ADODB
当要执行ADODB时,至少有两个文件要被载进来,第一个是 ADOdb.inc.php ,这里面包含了所有数据库类中要被使用的函数。而对数据库实作的程序码则被置放在ADOdb-????.inc.php文件里。
例如说,要连接一个mysql数据库:
include(''''/path/to/set/here/ADOdb.inc.php'''');
$conn = &ADONewConnection(''''mysql'''');
无论何时你需要连接到一个数据库时,你必需使用ADONewConnection()函数建立了一个连接物件。ADONewConnection接受一个选择性参数, <database-name-here>。如果没有参数被指定,它将会使用被 ADOLoadCode() 所载入的最后一个数据库。 NewADOConnection() 是另一个相同的函数。
当你建立好一个连接物件时,你并没有真的连接上你的数据库。你仍需要使用 $conn->Connect()
或者 $conn->PConnect()
两个方法来完成真正的连接。
你可以参考教学手册里的范例,对上面的说明做更深入的了解。
支持的数据库
名称
测试状态
数据库
RecordCount() 支持与否
需安装的驱动程序
操作系统
access
B
Microsoft Access/Jet. 需要建立一个 ODBC/DSN。
Y/N
ODBC
Windows only
ado
B
一般未经特别指定的数据库系统, 透过ADO,允许不设定 DSN连接,使用OLEDB以提供较佳的效能。
? 视数据库而定
ADO or OLEDB provider
Windows only
ado_access
B
Microsoft Access/Jet 透过ADO,允许不设定 DSN连接,使用OLEDB以提供较佳的效能。
Y/N
ADO or OLEDB provider
Windows only
ado_mssql
B
Microsoft SQL Server 透过ADO,允许不设定 DSN连接,使用OLEDB以提供较佳的效能。
Y/N
ADO or OLEDB provider
Windows only
db2
C
DB2. 可以透过ODBC获得可以信赖的运作效果。
Y/N
DB2 CLI/ODBC interface
Unix and Windows. Unix install hints.
vfp
A
Microsoft Visual FoxPro,需要建立一个ODBC/DSN
Y/N
ODBC
Windows only
fbsql
C
FrontBase.
Y
?
Unix and Windows
ibase
B
Interbase 6或更早的版本。有些使用者报告必需使用如下的方式连接
$db->PConnect(''''localhost:c:/ibase/employee.gdb'''', "sysdba", "masterkey")目前没有支持 Affected_Rows 方法
Y/N
Interbase client
Unix and Windows
firebird
C
interbase的Firebird版本
Y/N
Interbase client
Unix and Windows
borland_ibase
C
Borland 的Interbase 6.5 或更新版
Y/N
Interbase client
Unix and Windows
informix
C
Informix
Y/N
Informix client
Unix and Windows
[1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页
[MySql]PHP存取 Mysql 数据乱码终极解决方案 [Web开发]PHP提示Notice: Undefined variable的解决办法
[Web开发]PHP 大小写函数 [Web开发]PHP的sleep函数关闭窗口后是否继续运行?
[Web开发]教你如何在PHP开启gzip页面压缩实例介绍 [Web开发]PHP过滤HTML字符串的常用函数使用方法介绍
[Web开发]PHP采集程序常用函数大全 [Web开发]用PHP实现Javascript的escape(),unescape()的方法
[Web开发]常见的PHP截取字符串函数整理 [系统软件]突破Windows 2003 PHP服务器的新思路