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

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

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

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

我承認(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輸出的類。然后我就可以在PHP腳本的任何地方聲明這個(gè)類并且在需要使用它的時(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的類別。 CMySqlXML建構(gòu)函式接受四個(gè)參數(shù):MySQL的主機(jī)名,一個(gè)合法的使用者名,一個(gè)密碼和一個(gè)資料庫(kù)名字。建構(gòu)子使用這四個(gè)參數(shù)來(lái)設(shè)定類別的host、user、password和db成員變數(shù)。

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

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

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

如果需要更多有關(guān)DOM規(guī)範(fàn)的信息,可以訪問(wèn)W3C的網(wǎng)站。而更多domxml的資訊則可以從The PHP Group找到,在這裡你可以下載不同格式的文件。 ----------------------------------------- ---------------------------------------本文作者: Phillip Perkins是Ajilon Consulting的簽約人。他的經(jīng)驗(yàn)很豐富,從機(jī)器控制和客戶/伺服器到企業(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

用於從照片中去除衣服的線上人工智慧工具。

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)話題

Laravel 教程
1600
29
PHP教程
1502
276
PHP中的對(duì)象關(guān)聯(lián)映射(ORM)性能調(diào)整 PHP中的對(duì)象關(guān)聯(lián)映射(ORM)性能調(diào)整 Jul 29, 2025 am 05:00 AM

避免N 1查詢問(wèn)題,通過(guò)提前加載關(guān)聯(lián)數(shù)據(jù)來(lái)減少數(shù)據(jù)庫(kù)查詢次數(shù);2.僅選擇所需字段,避免加載完整實(shí)體以節(jié)省內(nèi)存和帶寬;3.合理使用緩存策略,如Doctrine的二級(jí)緩存或Redis緩存高頻查詢結(jié)果;4.優(yōu)化實(shí)體生命週期,定期調(diào)用clear()釋放內(nèi)存以防止內(nèi)存溢出;5.確保數(shù)據(jù)庫(kù)索引存在並分析生成的SQL語(yǔ)句以避免低效查詢;6.在無(wú)需跟蹤變更的場(chǎng)景下禁用自動(dòng)變更跟蹤,改用數(shù)組或輕量模式提升性能。正確使用ORM需結(jié)合SQL監(jiān)控、緩存、批量處理和適當(dāng)優(yōu)化,在保持開(kāi)發(fā)效率的同時(shí)確保應(yīng)用性能。

VSCODE設(shè)置。 JSON位置 VSCODE設(shè)置。 JSON位置 Aug 01, 2025 am 06:12 AM

settings.json文件位於用戶級(jí)或工作區(qū)級(jí)路徑,用於自定義VSCode設(shè)置。 1.用戶級(jí)路徑:Windows為C:\Users\\AppData\Roaming\Code\User\settings.json,macOS為/Users//Library/ApplicationSupport/Code/User/settings.json,Linux為/home//.config/Code/User/settings.json;2.工作區(qū)級(jí)路徑:項(xiàng)目根目錄下的.vscode/settings

深入了解PHP的內(nèi)部垃圾收集機(jī)制 深入了解PHP的內(nèi)部垃圾收集機(jī)制 Jul 28, 2025 am 04:44 AM

PHP的垃圾回收機(jī)制基於引用計(jì)數(shù),但循環(huán)引用需靠週期性運(yùn)行的循環(huán)垃圾回收器處理;1.引用計(jì)數(shù)在變量無(wú)引用時(shí)立即釋放內(nèi)存;2.循環(huán)引用導(dǎo)致內(nèi)存無(wú)法自動(dòng)釋放,需依賴GC檢測(cè)並清理;3.GC在“可能根”zval達(dá)閾值或手動(dòng)調(diào)用gc_collect_cycles()時(shí)觸發(fā);4.長(zhǎng)期運(yùn)行的PHP應(yīng)用應(yīng)監(jiān)控gc_status()、適時(shí)調(diào)用gc_collect_cycles()以避免內(nèi)存洩漏;5.最佳實(shí)踐包括避免循環(huán)引用、使用gc_disable()優(yōu)化性能關(guān)鍵區(qū)及通過(guò)ORM的clear()方法解引用對(duì)象,最

無(wú)服務(wù)器革命:使用BREF部署可擴(kuò)展的PHP應(yīng)用程序 無(wú)服務(wù)器革命:使用BREF部署可擴(kuò)展的PHP應(yīng)用程序 Jul 28, 2025 am 04:39 AM

Bref使PHP開(kāi)發(fā)者能無(wú)需管理服務(wù)器即可構(gòu)建可擴(kuò)展、成本高效的應(yīng)用。 1.Bref通過(guò)提供優(yōu)化的PHP運(yùn)行時(shí)層,將PHP帶入AWSLambda,支持PHP8.3等版本,並與Laravel、Symfony等框架無(wú)縫集成;2.部署步驟包括:使用Composer安裝Bref,配置serverless.yml定義函數(shù)和事件,如HTTP端點(diǎn)和Artisan命令;3.執(zhí)行serverlessdeploy命令即可完成部署,自動(dòng)配置APIGateway並生成訪問(wèn)URL;4.針對(duì)Lambda限制,Bref提供解決

在PHP中構(gòu)建不變的物體,並具有可讀的屬性 在PHP中構(gòu)建不變的物體,並具有可讀的屬性 Jul 30, 2025 am 05:40 AM

ReadonlypropertiesinPHP8.2canonlybeassignedonceintheconstructororatdeclarationandcannotbemodifiedafterward,enforcingimmutabilityatthelanguagelevel.2.Toachievedeepimmutability,wrapmutabletypeslikearraysinArrayObjectorusecustomimmutablecollectionssucha

將PHP與機(jī)器學(xué)習(xí)模型集成 將PHP與機(jī)器學(xué)習(xí)模型集成 Jul 28, 2025 am 04:37 AM

usearestapitobridgephpandmlmodelsbyrunningthemodelinpythonviaflaskorfastapiandcallingitfromphpusingcurlorguzzle.2.runpythonscriptsdirectsdirectlyectlyectlyfromphpsingexec()orshell_exec()orshell_exec()orshell_exec()

CSS暗模式切換示例 CSS暗模式切換示例 Jul 30, 2025 am 05:28 AM

首先通過(guò)JavaScript獲取用戶系統(tǒng)偏好和本地存儲(chǔ)的主題設(shè)置,初始化頁(yè)面主題;1.HTML結(jié)構(gòu)包含一個(gè)按鈕用於觸發(fā)主題切換;2.CSS使用:root定義亮色主題變量,.dark-mode類定義暗色主題變量,並通過(guò)var()應(yīng)用這些變量;3.JavaScript檢測(cè)prefers-color-scheme並讀取localStorage決定初始主題;4.點(diǎn)擊按鈕時(shí)切換html元素上的dark-mode類,並將當(dāng)前狀態(tài)保存至localStorage;5.所有顏色變化均帶有0.3秒過(guò)渡動(dòng)畫(huà),提升用戶

Java性能優(yōu)化和分析技術(shù) Java性能優(yōu)化和分析技術(shù) Jul 31, 2025 am 03:58 AM

使用性能分析工具定位瓶頸,開(kāi)發(fā)測(cè)試階段用VisualVM或JProfiler,生產(chǎn)環(huán)境優(yōu)先Async-Profiler;2.減少對(duì)象創(chuàng)建,復(fù)用對(duì)象、用StringBuilder替代字符串拼接、選擇合適GC策略;3.優(yōu)化集合使用,根據(jù)場(chǎng)景選型並預(yù)設(shè)初始容量;4.優(yōu)化並發(fā),使用並發(fā)集合、減少鎖粒度、合理設(shè)置線程池;5.調(diào)優(yōu)JVM參數(shù),設(shè)置合理堆大小和低延遲垃圾回收器並啟用GC日誌;6.代碼層面避免反射、用基本類型替代包裝類、延遲初始化、使用final和static;7.持續(xù)性能測(cè)試與監(jiān)控,結(jié)合JMH

See all articles