海南世紀云圖網絡科技有限公司
咨詢熱線:400-822-8458 客戶服務:0898-32183600

用于MySQL的PHP XML類

發表于:2010-12-01 00:00:00來源:人氣:3805

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

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

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

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

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

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

  3. PHP安裝目錄下創建一個目錄(默認為C:\PHP)“extensions”;

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

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

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

  7. 重新啟動Web服務器。

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

SQL代碼
  1.       run_sql_return_xml("SELECT * FROM users");    
  2.          
  3.   classCMySQLXML {   
  4.   
  5.   var $host;   
  6.   
  7.   var $user;   
  8.   
  9.   var $password;   
  10.   
  11.   var $db;   
  12.   
  13.   functionCMySQLXML($host, $user, $password, $db) {   
  14.   
  15.   $this->host = $host;   
  16.   
  17.   $this->user = $user;   
  18.   
  19.   $this->password = $password;   
  20.   
  21.   $this->db = $db;   
  22.   
  23.   }   
  24.   
  25.   functionrun_sql_return_xml($sql_string) {   
  26.   
  27.   $connection = MySQL_connect($this->host, $this->user, $this->password,   
  28.   
  29.   $this->db);   
  30.   
  31.   MySQL_select_db($this->db);   
  32.   
  33.   $result = MySQL_query($sql_string);   
  34.   
  35.   $doc = domxml_open_mem("");   
  36.   
  37.   while ($row = mysql_fetch_array($result, MySQL_ASSOC)) {   
  38.   
  39.   $num_fields = MySQL_num_fields($result);   
  40.   
  41.   $row_element = $doc->create_element(MySQL_field_table($result, 0));   
  42.   
  43.   $doc_root = $doc->document_element();   
  44.   
  45.   $row_element = $doc_root->append_child($row_element);   
  46.   
  47.   for ($i = 0; $i < $num_fields; $i++) {   
  48.   
  49.   $field_name = MySQL_field_name($result, $i);   
  50.   
  51.   $col_element = $doc->create_element($field_name);   
  52.   
  53.   $col_element = $row_element->append_child($col_element);   
  54.   
  55.   $text_node = $doc->create_text_node($row[$field_name]);   
  56.   
  57.   $col_element->append_child($text_node);   
  58.   
  59.   }   
  60.   
  61.   }   
  62.   
  63.   MySQL_free_result($result);   
  64.   
  65.   MySQL_close($connection);   
  66.   
  67.   return $doc->dump_mem(false);   
  68.   
  69.   }   
  70.   
  71.   }  

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

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

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

文章整理: 世紀云圖  http://www.543ae.com/

以上信息與文章正文是不可分割的一部分,如果您要轉載本文章,請保留以上信息,謝謝!

版權申明:本站文章部份來自網絡,如有侵權,請聯系我們,我們收到后立即刪除,謝謝!

特別注意:本站部份轉載文章言論不代表本站觀點,本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯系,版權歸原作者所有。

微信
網站建設
軟件業務
網絡營銷
400電話
主站蜘蛛池模板: 国产成人精品视频一区二区不卡| 国产成人aaa在线视频免费观看| 欧美国产成人在线| 成人黄色在线网站| 日本成人免费在线观看| 成人18免费网站在线观看| 四虎精品成人免费视频| 2021国产成人精品国产| 国产成人精品一区二三区在线观看| 四虎高清成人永久免费影院| 成人福利视频app| 免费国产成人午夜私人影视| 成人性a激情免费视频| 亚洲国产成人久久一区www | 国产成人福利精品视频| 久久成人免费电影| 国产精品成人免费视频电影| 精品无码成人久久久久久| 国产成人午夜福利在线播放| 欧美成人家庭影院| www成人免费视频| 免费成人在线电影| 国产成人综合色视频精品| 欧洲国产成人精品91铁牛tv| 中文字幕成人在线| 国产成人福利精品视频| 天天影院成人免费观看| 成人看的一级毛片| 欧美xxxx成人免费网站| 草莓视频成人app下载| 中文成人无字幕乱码精品区| 亚洲国产成人一区二区精品区| 国产成人无码A区在线观看导航| 成人a一级试看片| 成人免费福利视频| 成人免费无遮挡无码黄漫视频| 最新国产午夜精品视频成人| 成人综合伊人五月婷久久| 成人综合激情另类小说| 成人久久久久久| 国产亚洲精品成人久久网站|