天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

一個用于MySQL的PHP XML類

我承認我不是php的領導者。然而,在看了一些php的信息之后,我認為有一些功能需要添加到其中來處理數據庫連接和整合XML。要做到這一點,我想我可以創建一個處理連接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能夠正常運行。)

<?php

$myxml = new CMySqlXML("localhost", "test_user", "password", "test");

echo $myxml->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("<root/>");

        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);

    }

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

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

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

在循環所有行之后,代碼釋放結果集并關閉連接。產生的DOMDocument XML從函數中返回。

php頁面的開始處你會看到CMySqlXML對象被實例化,run_sql_return_xml()方法被調用。這個方法的返回值被返回給客戶。domxml功能除了php函數命名約定之外都遵守DOM規范。

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


--------------------------------------------------------------------------------
本文作者: Phillip Perkins是Ajilon Consulting的簽約人。他的經驗很豐富,從機器控制和客戶/服務器到企業內部網應用

php技術一個用于MySQL的PHP XML類,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 性西欧俄罗斯极品 | 最新亚洲中文字幕在线观看 | 久久99国产综合精品AV蜜桃 | 直插下身完整的欧美版 | 99久久免热在线观看6 | 欧美又粗又长又大AAAA片 | 国产精品成人不卡在线观看 | 欧洲精品不卡1卡2卡三卡四卡 | 好紧的小嫩嫩17p | 99热这里只有精品9 99热这里只有精品88 | 四虎永久在线精品免费A | JIZJIZJIZ 日本老师水多 | JK白丝校花爽到娇喘视频 | 成年人在线免费观看视频网站 | 国产久爱青草视频在线观看 | 色婷婷激情AV精品影院 | 国产69精品久久久久妇女 | 国产精品免费观看视频 | 国产GV无码A片在线观看 | 视频成人app永久在线观看 | 欧美一区二区日韩一区二区 | 国产成人一区二区三区在线观看 | 亚洲欧洲日韩国产一区二区三区 | 92电影网午夜福利 | 涩涩在线观看免费视频 | 久久久久国产精品美女毛片 | 老司机深夜福利ae 入口网站 | 综合人妻久久一区二区精品 | 亚洲一日韩欧美中文字幕在线 | 亚洲AV精品无码成人 | 看美女大腿中间的部分 | 亚洲精品乱码久久久久久直播 | 日韩精品在线观看免费 | 女人吃男人的鸡鸡 | 午夜国产福利 | 精品人妻一区二区三区视频53 | 97人人添人人澡人人澡人人澡 | 暖暖 视频 在线 观看 高清 | 日日碰狠狠躁久久躁综合网 | 亚洲精品久久久久AV无码林星阑 | 热久久视久久精品18 |