亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

深入淺析:用于MySQL的PHP XML類

瀏覽:4日期:2024-07-07 15:13:24

本文中作者通過自己創(chuàng)建一個處理連接MySQL和使用PHP中的domxml功能來提供XML輸出的類。這樣就可以可以在PHP腳本的任何地方聲明這個類并且在需要使用它的時候可以提供XML功能。

假設(shè)人們使用PHP是原因是他的標(biāo)價:免費。MySQL為需要向系統(tǒng)中增加數(shù)據(jù)庫功能的開發(fā)人員提供一個免費的數(shù)據(jù)庫解決方案。這些解決方案的缺點是在設(shè)置和管理的時候有些復(fù)雜。

我在這篇文章中使用的PHP版本是PHP 4.3.4 for Win32,可以從The PHP Group下載。MySQL的版本是MySQL 4.0.16 for Win32,可以從MySQL.com得到。MySQL的安裝很容易——只要簡單地按照其指令來就可以了。PHP稍微有一點復(fù)雜。

在PHP的下載頁面有兩個文件:一個ZIP文件和一個安裝文件。因為我們需要添加ZIP文件中的擴展,所以這兩個文件都要下載。下面是下載之后的所要做的一個簡單步驟:

1. 使用安裝文件安裝PHP;

2. 解壓iconv.dll,將其放到Windows的系統(tǒng)文件夾中;

3. PHP安裝目錄下創(chuàng)建一個目錄(默認(rèn)為C:PHP)“extensions”;

4. 解壓PHP_domxml.dll文件到這個目錄;

5. 在Windows文件夾下找到PHP.ini文件,然后使用記事本或其它文本編輯器打開。在這個文件中找到“extensions_dir=”,然后將其值修改為第3步設(shè)置的擴展文件夾的完整路徑;

6. 找到“;extension=PHP_domxml.dll”,刪除本行開頭的分號;

7. 重新啟動Web服務(wù)器。

然后在你的Web目錄下使用下面的代碼創(chuàng)建一個PHP頁面“test.PHP”。(這段代碼在運行IIS 5.0的Windows 2000 SP3能夠正常運行。)

以下為引用的內(nèi)容: 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('');

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上有一個數(shù)據(jù)庫“test”,其中有一個表“users”。而且,你還需要為訪問測試數(shù)據(jù)庫上的數(shù)據(jù)創(chuàng)建一個用戶。創(chuàng)建數(shù)據(jù)庫、表等的步驟可以查看MySQL的文檔。

如果你分析一下代碼,你就會明白我創(chuàng)建了一個叫做CMySqlXML的類。CMySqlXML構(gòu)造函數(shù)接受四個參數(shù):MySQL的主機名,一個合法的用戶名,一個密碼和一個數(shù)據(jù)庫名字。構(gòu)造函數(shù)使用這四個參數(shù)設(shè)置類的host、user、password和db成員變量。

該類提供的唯一的一個方法是run_sql_return_xml()。它接受一個SQL查詢字符串參數(shù)。當(dāng)這個方法執(zhí)行的時候,它創(chuàng)建一個到MySQL數(shù)據(jù)庫的連接并選擇數(shù)據(jù)庫。查詢字符串被執(zhí)行,結(jié)果存儲到變量$result中。使用domxml_open_mem()函數(shù)創(chuàng)建一個新的DOMDocument對象。然后,代碼開始循環(huán)結(jié)果集中的所有記錄。對于每一條記錄,添加一個與結(jié)果集的表同名的行元素到DOMDocument文檔元素中。然后為每個字段添加一個元素到行元素中,元素名為字段名。最后,一個文本節(jié)點被添加到每個字段節(jié)點,節(jié)點的值為該字段的值。

在循環(huán)所有行之后,代碼釋放結(jié)果集并關(guān)閉連接。產(chǎn)生的DOMDocument XML從函數(shù)中返回。

在PHP頁面的開始處你會看到CMySQLXML對象被實例化,run_sql_return_xml()方法被調(diào)用。這個方法的返回值被返回給客戶。domxml功能除了PHP函數(shù)命名約定之外都遵守DOM規(guī)范。

如果需要更多有關(guān)DOM規(guī)范的信息,可以訪問W3C的站點。而更多domxml的信息則可以從The PHP Group找到,在這里你可以下載不同格式的文檔。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 国产主播一区二区 | 日本与大黑人xxxx | 国产精品久久久久久免费 | 久久国产精品视频一区 | 成 人 免 费 黄 色 | 黄色成人影视 | 婷婷影院在线综合免费视频 | 亚洲一级视频在线观看 | 免费看毛片软件 | 日韩一区国产二区欧美三区 | 国产国拍亚洲精品av | 高清在线观看自拍视频 | 免费一级生活片 | 国产香蕉98碰碰久久人人 | 国产va精品网站精品网站精品 | 91国内在线视频 | 欧美黄色第一页 | 日本高清中文字幕一区二区三区 | 萌白酱福利视频在线网站 | 99re6热视频精品免费观看 | 打床炮视频在线观看免费 | 日本高清不卡免费 | 欧美一区不卡二区不卡三区 | 国产一级做a爰片... | 看欧美的一级毛片 | 精品一区二区三区影片 | 国产成人久视频免费 | 日韩a级片在线观看 | 女神穿上情趣丝袜啪啪一整晚 | 久久99精品久久久久久青青91 | 日韩精品免费在线观看 | 91制服| 在线播放国产精品 | 精品夜夜春夜夜爽久久 | 在线免费一级片 | 成人在线观看视频网站 | 精品视频vs精品视频 | 欧美电影精品久久久久 | 日韩不卡一区二区 | 午夜精品久久久久久久爽 | 五月久久亚洲七七综合中文网 |