PHP中 ADOdb 类库介绍(一)

2016-01-29 13:54 4 1 收藏

PHP中 ADOdb 类库介绍(一),PHP中 ADOdb 类库介绍(一)

【 tulaoshi.com - PHP 】

前言
为什么要使用数据库类库?

初学者 (甚至一些非初学者)常常犯的错误,就是在开发应用程序的时候,缺乏对未来的考虑。假如有一天,你的程序需要使用其它的数据库,难道你还需要重新写一篇针对于这个版本数据库的程序吗?这不是不可能发生的,尤其是当目前的数据库可能不适合你当前的需要的时候。 但是当你做这一切的时候 ,你会发现绝非你想像的那样容易:每一个 DBMS 有不同的函数。举例来说:在 Mysql 中连接数据库的函数为 mysql_connect(),而在MSSQL却是 mssql_connect()。重新查看你所有的代码,然后修改所有操作数据库的函数和查询语法,这绝不是一项简单的工作。程序会经常的被捆绑到了错误的数据库上,以至无法在运行时达到最优性能。数据库类库就是这样产生的。它允许你通过同样的代码来操作不同的数据库。一个设计良好的数据库类库可以完美的改变这一切。它允许你通过极小的修改,就能转接到其他数据库:无论你要连接什么数据库管理系统,只要使用同一个的函数,和不同的参数。举例来说, 在 ADOdb 中,只需简单地将 $db = NewADOConnection('access ') 修改为$db = NewADOConnection('mysql'),这样,你就轻松的把你的程序从 Access 数据库转移到了 Mysql 数据库中。现在网络上已经有了很多这样的数据库类库,比如Pear,PHPlib,我也已经在工作中使用它们了,也许你也曾经用过。但本文仅将重点放在我所特别关注的 ADOdb。本文我只简要地作一个介绍,使你能够马上运用它来开发你的下一个项目。以后的文章中我们将会循序渐进的对它进入更深入的了解。

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

目前,ADOdb 支持的数据库包括 MySQL, PostgreSQL,Interbase,Firebird,Informix,Oracle,MS SQL 7,Foxpro,Access,ADO,Sybase,FrontBase,DB2 和 generic ODBC。

ADOdb 的安装
安装 ADOdb 是一件极期容易的事,相信聪明的你一定不会感到吃力。

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

首先, 确定你正在运行的 PHP 是 4.0.4 版或更新版。 如果不是,我强列建议你升级!
从 PHP Everywhere 站点下载 .zip 或 .tgz 文件,解压缩到你所选的路径下。
这个路径不应在网页目录(WWWTREE,译者注:如果你的网页是在/www/下,那么,这个目录就不应为/www/here)下!虽然ADOdb的包含文件已经使用了 .inc.php 的扩展名 ,使得服务器即使是在最糟糕的配置下,也不会将这些.inc文件通过明文方式在浏览器中显示出来,但是我们向来不提倡将库函数文件放在网页目录下的行为。然后把下载下来的文件运行:tar -zxvf adodb350.tgz 解压,在Windows下你可以使用一个你喜欢的解压软件来操作,这样,你会得到一个 adodb 的目录其下包括了许多子目录。

测试你的安装
好了,让我们来测试一下你的安装吧。 通过在脚本中添加下列三行代码来测试你的安装是否成功。注意要把代码中的参数修改成你自己的。

include("$adodb_path/adodb.inc.php"); // includes the adodb library
$db = NewADOConnection('$database_type'); // A new connection
$db-Connect("$host", "$user", "$password", "$database_name");

现在你已经拥有一个数据库连接对象 $db 了。 你也可以使用 ADONewConnection 来替换 NewADOConnection 这两个是同一函数的不同的名字。 连接的数据库变量 $database_type 需要针对你的实际情况改成你所需要的。可以使用以下列表中的一个(括号内的为描述部分,不要在代码中使用):

access (Microsoft Access/Jet) ado (Generic ADO, the base for all the other ADO drivers) ado_access (Microsoft Access/Jet using ADO) ado_mssql (Microsoft SQL Server using ADO) db2 (DB2) vfp (Microsoft Visual FoxPro) fbsql (FrontBase) ibase (Interbase 6 or before) firebird (Firebird) informix72 (Informix databases before Informix 7.3) informix (Informix) maxsql (MySQL with transaction support) mssql (Microsoft SQL Server 7) mssqlpo (Portable mssql driver) mysql (MySQL without transaction support) mysqlt (MySQL with transaction support, identical to maxmysql) oci8 (Oracle 8/9) oci805 (Oracle 8.0.5) oci8po (Oracle 8/9 portable driver) odbc (Generic ODBC, the base for all the other ODBC drivers) odbc_mssql (MSSQL via ODBC) odbc_oracle (Oracle via ODBC) oracle (Oracle 7) postgres (P

来源:https://www.tulaoshi.com/n/20160129/1491923.html

延伸阅读
标签: PHP
       PHP中类的理解和应用[二]       许多PHP的爱好者在学习过程中感到对PHP中类的概念较难理解和掌握,虽然知道类既然存在就有其存在的道理,但是由于平时接触和使用的机会较少,也就一略而过。其实,只要我们理解变量和函数这些PHP基本概念的话,掌握类的含义就不成问题。鉴于...
标签: PHP
  原来写的IPwhois类  <?php /* * * Class : IP Whois Verson 1.0 * Info : Get IP's information form 4 whois server * Author : PhpUp Studio * Date : 12/12/2004 * www.knowsky.com * */ class IPWhois {         var $server = 'whois.arin.net';      &nbs...
标签: PHP
最近接了一个网站使用的是PHP+Access,汗,以前从来没有用php+Access做过,参考别人写的access函数,自己加入了一些其他的功能,封装为一个类,感觉调用蛮方便的,虽然没有测试过,但是感觉PHP+Access的速度没有PHP+MySQL速度快。     代码如下:   <? php ------------------------------------------------------------...
标签: Web开发
?php//// +----------------------------------------------------------------------+// | 分页类  |// +----------------------------------------------------------------------+// | Copyright (c) 2001 NetFish Software |//...
标签: PHP
  PHP中对数据库操作的封装 在动态网面设计中很多都要涉及到对数据库的操作,但是有时跟据需要而改用其它后台数据库,就需要大量修改程序。这是一件枯燥、费时而且容易出错的功作。其实我们可以用PHP中的类来实现对数据库操作的封装,从而使写出的程序在很小的改动下就可以完成后台数据库的更改。 现在我们把其封装在dbfz.inc中,其...

经验教程

86

收藏

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