转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
指南:从MySQL转向ADODB(1)         ★★★★

指南:从MySQL转向ADODB(1)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1464 更新时间:2009/4/23 10:49:28
                
         You say eether and I say eyether, 
                  You say neether and I say nyther; 
                  Eether, eyether, neether, nyther - 
                  Let''''s call the whole thing off ! 




                  You like potato and I like po-tah-to, 
                  You like tomato and I like to-mah-to; 
                  Potato, po-tah-to, tomato, to-mah-to - 
                  Let''''s call the whole thing off !         

我喜欢这首歌,尤其是Louis Armstrong 和Ella二重唱的版本。这首歌说的是恋
爱中的两个人要和谐相处是多么难。它说的也是一种妥协和寻找共同点。这也是这篇
文章所要说的。
   使用PHP创建动态Web站点,你将有最少的烦恼和最多的乐趣。创建这些Web站点的
时候,我们需要使用数据库来获取登录信息,在网页上发布动态新闻和保存论坛帖子。
因此我们会说我们正在使用流行的MySQL数据库来完成这些工作。然而你的公司做了一
项如此不可思议的工作,以至于你们公司的网站受欢迎的程度远大于你当初最大胆的
估计。你发现MySQL无法扩展到能处理如此大的工作量,是该更换数据库的时候了。
    不幸的是在PHP中访问不同数据库的方式都稍有不同。要连接到MySQL,你要使用
mysql_connect(); 当你决定升级到Oracle或者Microsoft SQL Server时,你要分别
使用ocilogon()mssql_connect();更糟糕的是你在不同连接函数里使用的参数也
各不相同…….一个数据库说po-tato,另一个数据库说pota-to.哦-哦。
 

让我们不要放弃整个工作

当你需要保证可移植性的时候,一种像ADODB这样的数据库包装库(database wrapper library)
已经出现了。它提供统一的API来和任何它支持的数据库进行连接,因此你不必放弃整
个移植升级工作。
    ADODB 代表 Active Data Objects DataBase (不好意思,计算机小子有时也不是
十分有创意). ADODB 目前支持 MySQL, PostgreSQL, Oracle, Interbase, Microsoft
SQL Server, Access, FoxPro, Sybase, ODBC 和 ADO. 你可以从
http://php.weblogs.com/adodb.
下载ADODB

MySQL 例子

和PHP一起使用的最常见的数据库是MySQL, 因此我猜你应该很熟悉下面的代码。它连
接到位于localhost的MySQL服务器上的mydb数据库,并执行一条SQL查询声明。查询
结果将打印出来,查询结果中每条记录显示成一行。

$db = mysql_connect("localhost", "root", "password");
mysql_select_db("mydb",$db);
$result = mysql_query("SELECT * FROM employees",$db);
if ($result === false) die("failed"); 
while ($fields = mysql_fetch_row($result)) {
 for ($i=0, $max=sizeof($fields); $i < $max; $i++) {
                  print $fields[$i].'''' '''';
 }
 print "<br>\n";
} 

上面的代码分段设置了颜色。第一段是连接阶段。第二段是SQL的执行。最后一段
显示字段值。while 循环扫描结果中的每一行,而for 循环扫描每一列的各个字段。
    下面是在ADODB里有同样作用的代码:

 include("adodb.inc.php");
 $db = NewADOConnection(''''mysql'''');
 $db->Connect("localhost", "root", "password", "mydb");
 $result = $db->Execute("SELECT * FROM employees");
 if ($result === false) die("failed");  
 while (!$result->EOF) {
         for ($i=0, $max=$result->FieldCount(); $i < $max; $i++)
                 print $result->fields[$i].'''' '''';
         $result->MoveNext();
         print "<br>\n";
 } 

现在改成要连接到Oracle数据库只需简单的把第二行改为NewADOConnection(''''oracle'''')
就可以了。让我们仔细看看这段代码…

连接到数据库

include("adodb.inc.php");
$db = NewADOConnection(''''mysql'''');
$db->Connect("localhost", "root", "password", "mydb");

这段连接代码比MySQL的那段更精致一些。在ADODB中,我们使用面向对象的方法来管理
连接多种数据库的复杂性。我们有不同的类来处理不同的数据库。如果你不熟悉面向对
编程,不要急-所有这些复杂操作都被隐藏在
NewADOConnection()函数里了。

为了节省内存,我们只加载你要连接的特定数据库的PHP代码. 我们通过调用
NewADOConnection(databasedriver)函数来实现这个功能. 合法的数据库驱动包括
mysql, mssql, oracle, oci8, postgres, sybase, vfp, access, ibase 和其它等等。

这样我们通过调用NewADOConnection()创建connection类的一个新的实例。最后我们用
$db->Connect()来连接数据库.

[1] [2]  下一页


[Web开发]使用XMLHttp和ADODB.Stream取得远程文件并保存到本…  [Web开发]ASP中利用ADODB.Stream对象将字节流转换为字符流
[Web开发]指南:从MySQL转向ADODB(2)  [Web开发]面向对象的asp编程之五--adodb的类封装
[Web开发]PHP技巧--通过COM使用ADODB  [Web开发]adodb Stream 详细用法
[Web开发]MMCACHE+PHP5+ADODB出现内存溢出的问题  [Web开发]smarty+adodb+部分自定义类的php开发模式
[Web开发]利用VBScript及ADODB.Steam获取部分格式图象长宽  [Web开发]adodb Stream 详细用法     选择自 3cts 的 Blog

教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台