国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) 後端開(kāi)發(fā) php教程 一個(gè)用於MySQL的PHP?? XML類(lèi)別_PHP教程

一個(gè)用於MySQL的PHP?? XML類(lèi)別_PHP教程

Jul 21, 2016 pm 04:08 PM
mysql php xml 。 不是 資訊 然而 類(lèi)別

我承認(rèn)我不是PHP的領(lǐng)導(dǎo)者。然而,在看了一些PHP的信息之后,我認(rèn)為有一些功能需要添加到其中來(lái)處理數(shù)據(jù)庫(kù)連接和整合XML。要做到這一點(diǎn),我想我可以創(chuàng)建一個(gè)處理連接MySQL和使用PHP中的domxml功能來(lái)提供XML輸出的類(lèi)。然后我就可以在PHP腳本的任何地方聲明這個(gè)類(lèi)并且在需要使用它的時(shí)候可以提供XML功能。

?
我假設(shè)人們使用PHP是原因是他的標(biāo)價(jià):免費(fèi)。MySQL為需要向系統(tǒng)中增加數(shù)據(jù)庫(kù)功能的開(kāi)發(fā)人員提供一個(gè)免費(fèi)的數(shù)據(jù)庫(kù)解決方案。這些解決方案的缺點(diǎn)是在設(shè)置和管理的時(shí)候有些復(fù)雜。

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

在PHP的下載頁(yè)面有兩個(gè)文件:一個(gè)ZIP文件和一個(gè)安裝文件。因?yàn)槲覀冃枰砑覼IP文件中的擴(kuò)展,所以這兩個(gè)文件都要下載。下面是下載之后的所要做的一個(gè)簡(jiǎn)單步驟:

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

2. 解壓iconv.dll,將其放到Windows的系統(tǒng)文件夾中。

3. PHP安裝目錄下創(chuàng)建一個(gè)目錄(默認(rèn)為C:\PHP)“extensions”。

4. 解壓php_domxml.dll文件到這個(gè)目錄。

5.? 在Windows文件夾下找到php.ini文件,然后使用記事本或其它文本編輯器打開(kāi)。在這個(gè)文件中找到“extensions_dir=”,然后將其值修改為第3步設(shè)置的擴(kuò)展文件夾的完整路徑。

6. 找到“;extension=php_domxml.dll”,刪除本行開(kāi)頭的分號(hào)。

7.重新啟動(dòng)Web服務(wù)器。

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

$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("");

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

??? }

? }
這個(gè)例子要求你在test

? }
這個(gè)範(fàn)例要求你在test

? }

這個(gè)範(fàn)例要求你在test

」。而且,你還需要為存取測(cè)試資料庫(kù)上的資料建立一個(gè)使用者。建立資料庫(kù)、表格等的步驟可以查看MySQL的文檔。

?

如果你分析一下程式碼,你就會(huì)明白我創(chuàng)建了一個(gè)叫做CMySqlXML的類(lèi)別。 CMySqlXML建構(gòu)函式接受四個(gè)參數(shù):MySQL的主機(jī)名,一個(gè)合法的使用者名,一個(gè)密碼和一個(gè)資料庫(kù)名字。建構(gòu)子使用這四個(gè)參數(shù)來(lái)設(shè)定類(lèi)別的host、user、password和db成員變數(shù)。

該類(lèi)別提供的唯一的一個(gè)方法是run_sql_return_xml()。它接受一個(gè)SQL查詢(xún)字串參數(shù)。當(dāng)這個(gè)方法執(zhí)行的時(shí)候,它會(huì)建立一個(gè)到MySQL資料庫(kù)的連接並選擇資料庫(kù)。查詢(xún)字串被執(zhí)行,結(jié)果儲(chǔ)存到變數(shù)$result。使用domxml_open_mem()函數(shù)建立一個(gè)新的DOMDocument物件。然後,程式碼開(kāi)始循環(huán)結(jié)果集中的所有記錄。對(duì)於每一筆記錄,將一個(gè)與結(jié)果集的表同名的行元素新增至DOMDocument文件元素。然後為每個(gè)欄位新增一個(gè)元素到行元素中,元素名為欄位名稱(chēng)。最後,一個(gè)文字節(jié)點(diǎn)被加入到每個(gè)欄位節(jié)點(diǎn),節(jié)點(diǎn)的值為該欄位的值。

在循環(huán)所有行之後,程式碼釋放結(jié)果集並關(guān)閉連線(xiàn)。產(chǎn)生的DOMDocument XML從函數(shù)傳回。

在PHP頁(yè)面的開(kāi)始處你會(huì)看到CMySqlXML物件被實(shí)例化,run_sql_return_xml()方法被呼叫。這個(gè)方法的回傳值會(huì)回傳給客戶(hù)。 domxml功能除了PHP函數(shù)命名約定之外都遵守DOM規(guī)範(fàn)。

如果需要更多有關(guān)DOM規(guī)範(fàn)的信息,可以訪(fǎng)問(wèn)W3C的網(wǎng)站。而更多domxml的資訊則可以從The PHP Group找到,在這裡你可以下載不同格式的文件。 ----------------------------------------- ---------------------------------------本文作者: Phillip Perkins是Ajilon Consulting的簽約人。他的經(jīng)驗(yàn)很豐富,從機(jī)器控制和客戶(hù)/伺服器到企業(yè)內(nèi)部網(wǎng)路應(yīng)用程式。 http://www.bkjia.com/PHPjc/314726.htmlwww.bkjia.com
truehttp: //www.bkjia.com/PHPjc/314726.html
TechArticle我承認(rèn)我不是PHP的領(lǐng)導(dǎo)者。然而,在看了一些PHP的資訊之後,我認(rèn)為有一些功能需要添加到其中來(lái)處理資料庫(kù)連接和整合XML。要做到這一點(diǎn)...
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線(xiàn)上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話(huà)題

如何使用PHP退出功能? 如何使用PHP退出功能? Jul 03, 2025 am 02:15 AM

exit()是PHP中用於立即終止腳本執(zhí)行的函數(shù),常見(jiàn)用途包括:1.在檢測(cè)到異常情況時(shí)提前終止腳本,如文件不存在或驗(yàn)證失??;2.調(diào)試時(shí)輸出中間結(jié)果並停止執(zhí)行;3.結(jié)合header()重定向後調(diào)用exit()防止後續(xù)代碼執(zhí)行;此外,exit()可接受字符串參數(shù)作為輸出內(nèi)容或整數(shù)作為狀態(tài)碼,其別名為die()。

將語(yǔ)義結(jié)構(gòu)應(yīng)用於html的文章,部分和旁邊 將語(yǔ)義結(jié)構(gòu)應(yīng)用於html的文章,部分和旁邊 Jul 05, 2025 am 02:03 AM

在HTML中合理使用語(yǔ)義化標(biāo)籤能提升頁(yè)面結(jié)構(gòu)清晰度、可訪(fǎng)問(wèn)性和SEO效果。 1.用於獨(dú)立內(nèi)容區(qū)塊,如博客文章或評(píng)論,需保持自包含性;2.用於歸類(lèi)相關(guān)內(nèi)容,通常包含標(biāo)題,適用於頁(yè)面不同模塊;3.用於與主內(nèi)容相關(guān)但非核心的輔助信息,如側(cè)邊欄推薦或作者簡(jiǎn)介。實(shí)際開(kāi)發(fā)中應(yīng)結(jié)合、等標(biāo)籤,避免過(guò)度嵌套,保持結(jié)構(gòu)簡(jiǎn)潔,並通過(guò)開(kāi)發(fā)者工具驗(yàn)證結(jié)構(gòu)合理性。

重置MySQL Server的root密碼 重置MySQL Server的root密碼 Jul 03, 2025 am 02:32 AM

要重置MySQL的root密碼,請(qǐng)按以下步驟操作:1.停止MySQL服務(wù)器,使用sudosystemctlstopmysql或sudosystemctlstopmysqld;2.以--skip-grant-tables模式啟動(dòng)MySQL,執(zhí)行sudomysqld--skip-grant-tables&;3.登錄MySQL並根據(jù)版本執(zhí)行相應(yīng)的SQL命令修改密碼,如FLUSHPRIVILEGES;ALTERUSER'root'@'localhost'IDENTIFIEDBY'your_new

在MySQL列和查詢(xún)中處理零值 在MySQL列和查詢(xún)中處理零值 Jul 05, 2025 am 02:46 AM

處理MySQL中的NULL值需注意:1.設(shè)計(jì)表時(shí)關(guān)鍵字段設(shè)為NOTNULL,可選字段允許NULL;2.查詢(xún)判斷必須用ISNULL或ISNOTNULL,不能用=或!=;3.可用IFNULL或COALESCE函數(shù)替換顯示默認(rèn)值;4.插入或更新時(shí)直接使用NULL值需謹(jǐn)慎,注意數(shù)據(jù)源和ORM框架處理方式。 NULL表示未知值,不等於任何值,包括自身,因此查詢(xún)、統(tǒng)計(jì)、連接表時(shí)要特別小心,避免漏數(shù)據(jù)或邏輯錯(cuò)誤。合理使用函數(shù)和約束可以有效減少因NULL帶來(lái)的干擾。

分析MySQL緩慢查詢(xún)?nèi)照I以查找性能瓶頸 分析MySQL緩慢查詢(xún)?nèi)照I以查找性能瓶頸 Jul 04, 2025 am 02:46 AM

開(kāi)啟MySQL慢查詢(xún)?nèi)罩静⒎治隹啥ㄎ恍阅軉?wèn)題。1.編輯配置文件或動(dòng)態(tài)設(shè)置slow_query_log和long_query_time;2.日志包含Query_time、Lock_time、Rows_examined等關(guān)鍵字段,輔助判斷效率瓶頸;3.使用mysqldumpslow或pt-query-digest工具高效分析日志;4.優(yōu)化建議包括添加索引、避免SELECT*、拆分復(fù)雜查詢(xún)等。例如為user_id加索引能顯著減少掃描行數(shù),提升查詢(xún)效率。

使用mySQL中的mysqldump執(zhí)行邏輯備份 使用mySQL中的mysqldump執(zhí)行邏輯備份 Jul 06, 2025 am 02:55 AM

mysqldump是用於執(zhí)行MySQL數(shù)據(jù)庫(kù)邏輯備份的常用工具,它生成包含CREATE和INSERT語(yǔ)句的SQL文件以重建數(shù)據(jù)庫(kù)。 1.它不備份原始文件,而是將數(shù)據(jù)庫(kù)結(jié)構(gòu)和內(nèi)容轉(zhuǎn)換為可移植的SQL命令;2.適用於小型數(shù)據(jù)庫(kù)或選擇性恢復(fù),不適合TB級(jí)數(shù)據(jù)快速恢復(fù);3.常用選項(xiàng)包括--single-transaction、--databases、--all-databases、--routines等;4.恢復(fù)時(shí)使用mysql命令導(dǎo)入,並可關(guān)閉外鍵檢查以提升速度;5.建議定期測(cè)試備份、使用壓縮、自動(dòng)化調(diào)

在MySQL中以極限和偏移的限制結(jié)果 在MySQL中以極限和偏移的限制結(jié)果 Jul 05, 2025 am 02:41 AM

MySQL分頁(yè)常用LIMIT和OFFSET實(shí)現(xiàn),但大數(shù)據(jù)量下性能較差。 1.LIMIT控制每頁(yè)數(shù)量,OFFSET控制起始位置,語(yǔ)法為L(zhǎng)IMITNOFFSETM;2.性能問(wèn)題源於OFFSET掃描過(guò)多記錄並丟棄,導(dǎo)致效率低;3.優(yōu)化建議包括使用游標(biāo)分頁(yè)、索引加速、懶加載;4.游標(biāo)分頁(yè)通過(guò)上一頁(yè)最後一條記錄的唯一值定位下一頁(yè)起點(diǎn),避免OFFSET,適合“下一頁(yè)”操作,不適合隨機(jī)跳轉(zhuǎn)。

管理MySQL中的交易和鎖定行為 管理MySQL中的交易和鎖定行為 Jul 04, 2025 am 02:24 AM

MySQL事務(wù)和鎖機(jī)制是並發(fā)控制和性能調(diào)優(yōu)的關(guān)鍵。 1.使用事務(wù)時(shí),務(wù)必顯式開(kāi)啟並保持事務(wù)短小,避免長(zhǎng)事務(wù)導(dǎo)致資源佔(zhàn)用和undolog膨脹;2.加鎖操作包括共享鎖和排他鎖,SELECT...FORUPDATE加X(jué)鎖,SELECT...LOCKINSHAREMODE加S鎖,寫(xiě)操作自動(dòng)加鎖,應(yīng)使用索引減少鎖粒度;3.隔離級(jí)別默認(rèn)為可重複讀,適用於大多數(shù)場(chǎng)景,修改需謹(jǐn)慎;4.死鎖排查可通過(guò)SHOWENGINEINNODBSTATUS命令分析最近一次死鎖詳情,優(yōu)化方式包括統(tǒng)一執(zhí)行順序、增加索引、引入隊(duì)列系

See all articles