發表于:2010-12-01 00:00:00來(lái)源:人(rén)氣:3421
通過創建一個處理(lǐ)連接MySQL和使用PHP中的domxml功能來(lái)提供XML輸出的類,就(jiù)可(kě)以在PHP腳本的任何地方聲明這個類并且在需要使用它的時候可(kě)以提供XML功能。
假設人(rén)們使用PHP是原因是他(tā)的标價:免費。MySQL爲需要向系統中增加數據庫功能的開發人(rén)員(yuán)提供一個免費的數據庫解決方案。這些解決方案的缺點是在設置和管理(lǐ)的時候有些複雜。
這篇文章(zhāng)中使用的PHP版本是PHP 4.3.4 for Win32,可(kě)以從(cóng)The PHP Group下載。MySQL的版本是MySQL 4.0.16 for Win32,可(kě)以從(cóng)MySQL.com得(de)到。MySQL的安裝很容易——隻要簡單地按照(zhào)其指令來(lái)就(jiù)可(kě)以了。PHP稍微有一點複雜。
在PHP的下載頁面有兩個文件(jiàn):一個ZIP文件(jiàn)和一個安裝文件(jiàn)。因爲我們需要添加ZIP文件(jiàn)中的擴展,所以這兩個文件(jiàn)都(dōu)要下載。下面是下載之後的所要做的一個簡單步驟:
1. 使用安裝文件(jiàn)安裝PHP;
2. 解壓iconv.dll,将其放(fàng)到Windows的系統文件(jiàn)夾中;
3. PHP安裝目錄下創建一個目錄(默認爲C:\PHP)“extensions”;
4. 解壓PHP_domxml.dll文件(jiàn)到這個目錄;
5. 在Windows文件(jiàn)夾下找到PHP.ini文件(jiàn),然後使用記事(shì)本或其它文本編輯器打開。在這個文件(jiàn)中找到“extensions_dir=”,然後将其值修改爲第3步設置的擴展文件(jiàn)夾的完整路(lù)徑;
6. 找到“;extension=PHP_domxml.dll”,删除本行開頭的分(fēn)号;
7. 重新啓動Web服務器。
然後在你(nǐ)的Web目錄下使用下面的代碼創建一個PHP頁面“test.PHP”。(這段代碼在運行IIS 5.0的Windows 2000 SP3能夠正常運行。)
這個例子要求你(nǐ)在MySQL上有一個數據庫“test”,其中有一個表“users”。而且,你(nǐ)還(hái)需要爲訪問(wèn)測試數據庫上的數據創建一個用戶。創建數據庫、表等的步驟可(kě)以查看(kàn)MySQL的文檔。
如(rú)果你(nǐ)分(fēn)析一下代碼,你(nǐ)就(jiù)會明白(bái)我創建了一個叫做CMySqlXML的類。CMySqlXML構造函數接受四個參數:MySQL的主機(jī)名,一個合法的用戶名,一個密碼和一個數據庫名字。構造函數使用這四個參數設置類的host、user、password和db成員(yuán)變量。
該類提供的唯一的一個方法是run_sql_return_xml()。它接受一個SQL查詢字符串參數。當這個方法執行的時候,它創建一個到MySQL數據庫的連接并選擇數據庫。查詢字符串被執行,結果存儲到變量$result中。使用domxml_open_mem()函數創建一個新的DOMDocument對象。然後,代碼開始循環結果集中的所有記錄。對于每一條記錄,添加一個與結果集的表同名的行元素到DOMDocument文檔元素中。然後爲每個字段添加一個元素到行元素中,元素名爲字段名。最後,一