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

指南:从MySQL转向ADODB(1)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1474 更新时间:2009/4/23 10:49:28
执行SQL语句

$result = $db->Execute("SELECT * FROM employees");
if ($result === false) die("failed");

这将向服务器发送一个SQL声明。如果执行成功Execute()将返回一个recordset对象。
你应该像上面那样检查$result .

可能把初学者弄糊涂的问题是在ADODB里有两类对象,connection对象和recordset
对象。我们分别在什么时候用它们呢?

connection 对象($db) 负责连接到数据库,格式化你的SQL语句,并向数据库发出查询
请求。Recordset对象($result)负责获取结果,并将响应转化为文本或者一个数组。

我需要补充的唯一一点是:ADODB提供许多辅助函数,使得使用INSERT和UPDATE声明更
简单。这些辅助函数会在高级部分提到。

获取数据

while (!$result->EOF) {
   for ($i=0, $max=$result->FieldCount(); $i < $max; $i++)
            print $result->fields[$i].'''' '''';
   $result->MoveNext();
   print "<br>\n";
}

得到数据的范例像是在读取一个文件。对于每一行,我们首先检查是否读到了文件末
尾(EOF)。如果未读到文件末尾,循环读取每一行的各个字段。然后转到下一行
(MoveNext),重复上面的操作。

$result->fields[] 数组由PHP数据库扩展(extensions)生成。 一些数据库扩展不
支持使用字段名称作为字段索引。要强制使用名称索引―也就是联合数组―要使用
$ADODB_FETCH_MODE 全局变量。

         $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
         $rs1 = $db->Execute(''''select * from table'''');
         $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
         $rs2 = $db->Execute(''''select * from table'''');
         print_r($rs1->fields); // 显示 数组([0]=>''''v0'''',[1] =>''''v1'''')
         print_r($rs2->fields); // 显示 数组([''''col1'''']=>''''v0'''',[''''col2''''] =>''''v1'''')

就像你在上面的例子里看到的那样,当Execute()创建recordset的时候,两个
recordset对象都存储和使用了基于$ADODB_FETCH_MODE设置的不同获取模式。

ADOConnection

ADODB对象,用来建立数据库连接,执行SQL声明,并具有一系列能使针对连接和日期
格式之类问题的SQL语句格式标准化的功能函数。

其它有用的函数

$recordset->Move($pos) 转到指定行. ADODB 支持所有数据库的向前移动
(forward scrolling)。一些数据库不支持向后移动(backwards scrolling)。
通常情况下这没什么关系,因为你总是可以通过缓存记录来模拟向后移动。

$recordset->RecordCount() 返回SQL声明选取的记录数。一些数据库会返回-1
因为它不支持这项操作。

$recordset->GetArray() 以数组形式返回结果.

rs2html($recordset) 是一个函数,它根据传给它的$recordset 生成一个HTML表格.
一个例子(相应行用粗体标识):

   include(''''adodb.inc.php''''); 
   include(''''tohtml.inc.php''''); /* 将 rs2html 函数包含进来 */
   $conn = &ADONewConnection(''''mysql''''); 
   $conn->PConnect(''''localhost'''',''''userid'''',''''password'''',''''database'''');
   $rs = $conn->Execute(''''select * from table'''');
   rs2html($rs); /*根据 recordset 生成html表格 */ 

http://php.weblogs.com/adodb_manual上的文档里列出许多其它辅助函数。

 

 

 

上一页  [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……
    咸宁网络警察报警平台