电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

一個用于MySQL的PHP XML類

瀏覽:8日期:2024-01-28 11:36:11

我承認我不是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的簽約人。他的經驗很豐富,從機器控制和客戶/服務器到企業內部網應用。

標簽: PHP
主站蜘蛛池模板: 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 硅胶布|电磁炉垫片|特氟龙胶带-江苏浩天复合材料有限公司 | 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 玄米影院| 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | LED灯杆屏_LED广告机_户外LED广告机_智慧灯杆_智慧路灯-太龙智显科技(深圳)有限公司 | 共享雨伞_共享童车_共享轮椅_共享陪护床-共享产品的领先者_有伞科技 | 济南网站策划设计_自适应网站制作_H5企业网站搭建_济南外贸网站制作公司_锐尚 | 服务器之家 - 专注于服务器技术及软件下载分享 | 耙式干燥机_真空耙式干燥机厂家-无锡鹏茂化工装备有限公司 | 工业雾炮机_超细雾炮_远程抑尘射雾器-世纪润德环保设备 | 浙江工业冷却塔-菱电冷却塔厂家 - 浙江菱电冷却设备有限公司 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 鲁尔圆锥接头多功能测试仪-留置针测试仪-上海威夏环保科技有限公司 | 许昌奥仕达自动化设备有限公司 | 青州搬家公司电话_青州搬家公司哪家好「鸿喜」青州搬家 | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | 超高频感应加热设备_高频感应电源厂家_CCD视觉检测设备_振动盘视觉检测设备_深圳雨滴科技-深圳市雨滴科技有限公司 | 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 高效节能电机_伺服主轴电机_铜转子电机_交流感应伺服电机_图片_型号_江苏智马科技有限公司 | 光泽度计_测量显微镜_苏州压力仪_苏州扭力板手维修-苏州日升精密仪器有限公司 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 仓储笼_仓储货架_南京货架_仓储货架厂家_南京货架价格低-南京一品仓储设备制造公司 | 上海质量认证办理中心| 雄松华章(广州华章MBA)官网-专注MBA/MPA/MPAcc/MEM辅导培训 | CXB船用变压器-JCZ系列制动器-HH101船用铜质开关-上海永上船舶电器厂 | 巨野月嫂-家政公司-巨野县红墙安康母婴护理中心 | 泰安办公家具-泰安派格办公用品有限公司 | 尚为传动-专业高精密蜗轮蜗杆,双导程蜗轮蜗杆,蜗轮蜗杆减速机,蜗杆减速机生产厂家 | 高压管道冲洗清洗机_液压剪叉式升降机平台厂家-林君机电 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 保温杯,儿童婴童奶瓶,运动水壶「广告礼品杯定制厂家」超朗保温杯壶 | 餐饮小吃技术培训-火锅串串香培训「何小胖培训」_成都点石成金[官网] | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 上海阳光泵业制造有限公司 -【官方网站】| 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | 手持式3d激光扫描仪-便携式三维立体扫描仪-北京福禄克斯 |