专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » xml做数据库的类:深入浅析:用于MySQL的PHP XML类 »正文

xml做数据库的类:深入浅析:用于MySQL的PHP XML类

来源: 发布时间:星期二, 2009年2月3日 浏览:10次 评论:0
="t18">本文中作者通过自己创建个处理连接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.0Windows 2000 SP3能够正常运行)

以下为引用内容:
run_sql__xml("SELECT * FROM users");

  CMySQLXML {

  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__xml($sql_) {

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

  $this->db);

  MySQL_select_db($this->db);

  $result = MySQL_query($sql_);

  $doc = domxml_open_mem("");

  while ($row = mysql_fetch_.gif' />($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);

   $doc->dump_mem(false);

  }

  }



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

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

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

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

在PHP页面开始处你会看到CMySQLXML对象被例子化run_sql__xml思路方法被这个思路方法返回值被返回给客户domxml功能除了PHP命名约定的外都遵守DOM规范标准

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

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: