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