用于MySQL的PHPXML類是怎么樣的

用于MySQL的PHP XML類是怎么樣的,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

公司主營業(yè)務(wù):網(wǎng)站設(shè)計(jì)、做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出習(xí)水免費(fèi)做網(wǎng)站回饋大家。

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

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

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

在PHP的下載頁面有兩個(gè)文件:一個(gè)ZIP文件和一個(gè)安裝文件。因?yàn)槲覀冃枰砑覼IP文件中的擴(kuò)展,所以這兩個(gè)文件都要下載。下面是下載之后的所要做的一個(gè)簡單步驟:

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

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

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

4. 解壓PHP_domxml.dll文件到這個(gè)目錄;

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

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

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

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

以下為引用的內(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);

}

}
 


這個(gè)例子要求你在MySQL上有一個(gè)“test”,其中有一個(gè)表“users”。而且,你還需要為訪問測(cè)試數(shù)據(jù)庫上的數(shù)據(jù)創(chuàng)建一個(gè)用戶。創(chuàng)建數(shù)據(jù)庫、表等的步驟可以查看MySQL的文檔。

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

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

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

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

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

關(guān)于用于MySQL的PHP XML類是怎么樣的問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

新聞名稱:用于MySQL的PHPXML類是怎么樣的
鏈接URL:http://muchs.cn/article42/jpdgec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、企業(yè)網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、虛擬主機(jī)、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作