动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > PHP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ PHP技巧 ]的信息



本月文章推荐
.用PHP程序直接调用文本文件内容实.
.PHP中实现进程间通讯.
.一个特别好的学习PHP引用返回的例.
.phpmyadmin连接mysql的问题.
.在Zeus Web Server中安装PHP语言.
.PHP与Javascript的两种交互方式.
.用PHPINFO来实现PHP的配置统计过.
.使用PHP编写基于Web的文件管理系.
.一个查看session内容的函数.
.如何过滤高亮显示非法字符.
.PHP5中PDO的简单使用.
.PHP开发中接收复选框信息的方法.
.用PHP实现XML备份Mysql数据库.
.如何在PHP中使用Oracle数据库(4).
.PHP脚本的10个技巧(7).
.通过对服务器端特性的配置加强ph.
.新版PHP极大的增强功能和性能.
.PHP实现简单线性回归之数学库的重.
.php调用mysql存储过程和函数的方.
.php论坛服务器架构.

一个用于MySQL的PHP XML类

发表日期:2004-3-10 |


我承认我不是PHP的领导者。然而,在看了一些PHP的信息之后,我认为有一些功能需要添加到其中来处理数据库连接和整合XML。要做到这一点,我想我可以创建一个处理连接MySQL和使用PHP中的domxml功能来提供XML输出的类。然后我就可以在PHP脚本的任何地方声明这个类并且在需要使用它的时候可以提供XML功能。

 
我假设人们使用PHP是原因是他的标价:免费。MySQL为需要向系统中增加数据库功能的开发人员提供一个免费的数据库解决方案。这些解决方案的缺点是在设置和管理的时候有些复杂。

我在这篇文章中使用的PHP版本是PHP 4.3.4 for Win32,可以从The PHP Group下载。MySQL的版本是MySQL 4.0.16 for Win32,可以从MySQL.com得到。MySQL的安装很容易——只要简单地按照其指令来就可以了。PHP稍微有一点复杂。

在PHP的下载页面有两个文件:一个ZIP文件和一个安装文件。因为我们需要添加ZIP文件中的扩展,所以这两个文件都要下载。下面是下载之后的所要做的一个简单步骤:

1. 使用安装文件安装PHP。

2. 解压iconv.dll,将其放到Windows的系统文件夹中。

3. PHP安装目录下创建一个目录(默认为C:\PHP)“extensions”。

4. 解压php_domxml.dll文件到这个目录。

5.  在Windows文件夹下找到php.ini文件,然后使用记事本或其它文本编辑器打开。在这个文件中找到“extensions_dir=”,然后将其值修改为第3步设置的扩展文件夹的完整路径。

6. 找到“;extension=php_domxml.dll”,删除本行开头的分号。

7.重新启动Web服务器。

然后在你的Web目录下使用下面的代码创建一个PHP页面“test.php”。(这段代码在运行IIS 5.0的Windows 2000 SP3能够正常运行。)

<?php

$myxml = new CMySqlXML("localhost", "test_user", "password", "test");

echo $myxml->run_sql_return_xml("SELECT * FROM users");

classCMySqlXML {

    var $host;

    var $user;

    var $password;

    var $db;

    functionCMySqlXML($host, $user, $password, $db) {

        $this->host = $host;

        $this->user = $user;

        $this->password = $password;

        $this->db = $db;

    }

      functionrun_sql_return_xml($sql_string) {

        $connection = mysql_connect($this->host, $this->user, $this->password,

$this->db);

        mysql_select_db($this->db);

        $result = mysql_query($sql_string);

        $doc = domxml_open_mem("<root/>");

        while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

            $num_fields = mysql_num_fields($result);

            $row_element = $doc->create_element(mysql_field_table($result, 0));

            $doc_root = $doc->document_element();

            $row_element = $doc_root->append_child($row_element);

            for ($i = 0; $i < $num_fields; $i++) {

                $field_name = mysql_field_name($result, $i);

                $col_element = $doc->create_element($field_name);

                $col_element = $row_element->append_child($col_element);

                $text_node = $doc->create_text_node($row[$field_name]);

                $col_element->append_child($text_node);

            }

        }

        mysql_free_result($result);

        mysql_close($connection);

        return $doc->dump_mem(false);

    }

  }
这个例子要求你在MySQL上有一个数据库“test”,其中有一个表“users”。而且,你还需要为访问测试数据库上的数据创建一个用户。创建数据库、表等的步骤可以查看MySQL的文档。

 
如果你分析一下代码,你就会明白我创建了一个叫做CMySqlXML的类。CMySqlXML构造函数接受四个参数:MySQL的主机名,一个合法的用户名,一个密码和一个数据库名字。构造函数使用这四个参数设置类的host、user、password和db成员变量。

该类提供的唯一的一个方法是run_sql_return_xml()。它接受一个SQL查询字符串参数。当这个方法执行的时候,它创建一个到MySQL数据库的连接并选择数据库。查询字符串被执行,结果存储到变量$result中。使用domxml_open_mem()函数创建一个新的DOMDocument对象。然后,代码开始循环结果集中的所有记录。对于每一条记录,添加一个与结果集的表同名的行元素到DOMDocument文档元素中。然后为每个字段添加一个元素到行元素中,元素名为字段名。最后,一个文本节点被添加到每个字段节点,节点的值为该字段的值。

在循环所有行之后,代码释放结果集并关闭连接。产生的DOMDocument XML从函数中返回。

在PHP页面的开始处你会看到CMySqlXML对象被实例化,run_sql_return_xml()方法被调用。这个方法的返回值被返回给客户。domxml功能除了PHP函数命名约定之外都遵守DOM规范。

如果需要更多有关DOM规范的信息,可以访问W3C的站点。而更多domxml的信息则可以从The PHP Group找到,在这里你可以下载不同格式的文档。


--------------------------------------------------------------------------------
本文作者: Phillip Perkins是Ajilon Consulting的签约人。他的经验很丰富,从机器控制和客户/服务器到企业内部网应用。

上一篇:利用js调用后台php进行数据处理原码 人气:22398
下一篇:关于PHP中的Class的几点个人看法 人气:12649
浏览全部XML的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-25 WikyBlog v1.7.0.1 多国语言版
2008-7-25 乐彼网上开店系统(56770 Eshop)
2008-7-25 赛特网站管理系统sitecms v3.6.0
2008-7-25 Modoer多功能点评系统 v1.0.1 Bu
2008-7-25 Shangducms Teamsuit! v1.1.0 开
2008-7-25 幻影动漫网视频系统(Ppdong) v1.
2008-7-25 acteecompany企业网站建设系统 v
2008-7-25 恒浪整合管理系统 ims v4.1 ACCE
2008-7-25 艺术图库系统 v1.0 beta
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号