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