频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> PHP教程 -> 一个用于MySQL的PHP XML类

一个用于MySQL的PHP XML类

作者:未知  来源:转载  发布时间:2005-7-21 10:27:44  发布人:acx

减小字体 增大字体

我承认我不是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找到,在这里你可以下载不同格式的文档。




将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
上一篇文章:在PHP中使用XML
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· 利用adodb.stream直接下..
· Apache Prefork和Worker..
· 安全维护 IIS ASP 站点的..
· photoshop中制作逼真的鼠..
· 第七节:风讯模板与标签..
· 用PHP创建动态图形
· Flash MX2004入门与进阶..
· 快速制作绳子 [2]
· ASP.NET虚拟主机的重大安..
· 陈一舟:最正确是学会撤..
· 为广告吸引更多眼球 雅虎..
· 一 些 ASP 小 源 程 序
· 雅虎中国总裁谢文离职 内..
· 一个分析执行SQL文件来做..
· 谷歌王怀南证实离职 与邵..
· 重振美国在线业务 时代华..
相关文章
· 一个用于mysql的数据库抽象..
· 一个用于网络的工具函数库
· 一个用于网站用户管理的函数..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号