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

Maison développement back-end tutoriel php 一個用于MySQL的PHP XML類_PHP教程

一個用于MySQL的PHP XML類_PHP教程

Jul 21, 2016 pm 04:08 PM
mysql php xml 。 Non information exister je Cependant de gentil

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

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

我在這篇文章中使用的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的系統(tǒng)文件夾中。

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

4. 解壓php_domxml.dll文件到這個目錄。

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

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

7.重新啟動Web服務器。

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

$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

??????????????? $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上有一個數(shù)據(jù)庫“test”,其中有一個表“users”。而且,你還需要為訪問測試數(shù)據(jù)庫上的數(shù)據(jù)創(chuàng)建一個用戶。創(chuàng)建數(shù)據(jù)庫、表等的步驟可以查看MySQL的文檔。

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

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

在循環(huán)所有行之后,代碼釋放結(jié)果集并關(guān)閉連接。產(chǎn)生的DOMDocument XML從函數(shù)中返回。

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

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


--------------------------------------------------------------------------------
本文作者: Phillip Perkins是Ajilon Consulting的簽約人。他的經(jīng)驗很豐富,從機器控制和客戶/服務器到企業(yè)內(nèi)部網(wǎng)應用。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/314726.htmlTechArticle我承認我不是PHP的領導者。然而,在看了一些PHP的信息之后,我認為有一些功能需要添加到其中來處理數(shù)據(jù)庫連接和整合XML。要做到這一點...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276
Tigne de performance de cartographie relationnelle d'objet (ORM) dans PHP Tigne de performance de cartographie relationnelle d'objet (ORM) dans PHP Jul 29, 2025 am 05:00 AM

évitez N 1 Problèmes de requête, réduisez le nombre de requêtes de base de données en chargeant à l'avance des données associées; 2. Sélectionnez uniquement les champs requis pour éviter de charger des entités complètes pour enregistrer la mémoire et la bande passante; 3. Utilisez raisonnablement les stratégies de cache, telles que le cache secondaire de la doctrine ou les résultats de requête à haute fréquence de cache de Doctrine; 4. Optimisez le cycle de vie de l'entité et appelez régulièrement () pour libérer la mémoire pour empêcher le débordement de la mémoire; 5. Assurez-vous que l'indice de base de données existe et analysez les instructions SQL générées pour éviter les requêtes inefficaces; 6. Désactiver le suivi automatique des changements dans les scénarios où les modifications ne sont pas nécessaires et utilisez des tableaux ou des modes légers pour améliorer les performances. L'utilisation correcte de l'ORM nécessite de combiner la surveillance SQL, la mise en cache, le traitement par lots et l'optimisation appropriée pour garantir les performances de l'application tout en maintenant l'efficacité du développement.

VSCODE Settings.json Emplacement VSCODE Settings.json Emplacement Aug 01, 2025 am 06:12 AM

Le fichier SetfitS.JSON est situé dans le chemin de niveau utilisateur ou au niveau de l'espace de travail et est utilisé pour personnaliser les paramètres VScode. 1. Chemin de niveau utilisateur: Windows est C: \ Users \\ AppData \ Roaming \ Code \ User \ Settings.json, macOS est /users//library/applicationsupport/code/user/settings.json, Linux est /home//.config/code/user/settings.json; 2. Chemin au niveau de l'espace de travail: .vscode / Paramètres dans le répertoire racine du projet

Une plongée profonde dans le mécanisme de collecte interne de PHP Une plongée profonde dans le mécanisme de collecte interne de PHP Jul 28, 2025 am 04:44 AM

Le mécanisme de collecte des ordures de PHP est basé sur le comptage de référence, mais les références circulaires doivent être traitées par un collecteur de déchets circulaires périodique; 1. Le nombre de références libère la mémoire immédiatement lorsqu'il n'y a pas de référence à la variable; 2. Référence La référence fait que la mémoire ne peut pas être automatiquement libérée, et cela dépend de GC pour le détecter et le nettoyer; 3. GC est déclenché lorsque la "racine possible" Zval atteint le seuil ou appelle manuellement gc_collect_cycles (); 4. Les applications PHP à long terme devraient surveiller GC_Status () et appeler GC_COLLECT_CYCLES () à temps pour éviter la fuite de mémoire; 5. Les meilleures pratiques incluent d'éviter les références circulaires, en utilisant gc_disable () pour optimiser les zones clés de performance et les objets de déréférence via la méthode Clear () d'Orm.

La révolution sans serveur: déploiement des applications PHP évolutives avec BREF La révolution sans serveur: déploiement des applications PHP évolutives avec BREF Jul 28, 2025 am 04:39 AM

BREF permet aux développeurs PHP de créer des applications évolutives et rentables sans gérer les serveurs. 1.BREF apporte PHP à Awslambda en fournissant une couche d'exécution PHP optimisée, prend en charge PHP8.3 et d'autres versions, et s'intègre de manière transparente à des frameworks tels que Laravel et Symfony; 2. Les étapes de déploiement incluent: l'installation de BREF à l'aide de composer, configurer Serverless.yml pour définir des fonctions et des événements, tels que les points de terminaison HTTP et les commandes artisanales; 3. Exécutez la commande ServerlessDeploy pour terminer le déploiement, configurez automatiquement Apigeway et générez des URL d'accès; 4. Pour les restrictions de lambda, BREF fournit des solutions.

Construire des objets immuables en PHP avec des propriétés en lecture Construire des objets immuables en PHP avec des propriétés en lecture Jul 30, 2025 am 05:40 AM

ReadonlypropertiesInphp8.2CanlybeassignedonceinthestrustructoratDeclarationandcannotBemodifiedAfterward, applicationmutabilityaThelanguageLevel.2.Toachievedeep-immutability, webutableTypeSlikEarrayinArrayobjectorUSustomymutability, webutilletypeslikearraysinarrayobjectoruseseCustomMutabeColEctionSucha.

Intégration de PHP aux modèles d'apprentissage automatique Intégration de PHP aux modèles d'apprentissage automatique Jul 28, 2025 am 04:37 AM

UseArestapitobridgePhpandmlModelsByrunningTheModelinpythonviaflaskorfastapiandCallingitfrompsingCurlorBuzzle.2.Runpythonscripts est ventilateur

Exemple de bascule du mode sombre CSS Exemple de bascule du mode sombre CSS Jul 30, 2025 am 05:28 AM

Tout d'abord, utilisez JavaScript pour obtenir les préférences du système utilisateur et les paramètres de thème stockés localement et initialiser le thème de la page; 1. La structure HTML contient un bouton pour déclencher la commutation du sujet; 2. CSS utilise: Root pour définir des variables de thème brillantes, la classe de mode. Dark définit les variables de thème sombres et applique ces variables via var (); 3. JavaScript détecte préfère-Color-Scheme et lit LocalStorage pour déterminer le thème initial; 4. Communiquez la classe en mode noir sur l'élément HTML lorsque vous cliquez sur le bouton et enregistre l'état actuel vers LocalStorage; 5. Tous les changements de couleur sont accompagnés d'une animation de transition de 0,3 seconde pour améliorer l'utilisateur

Techniques d'optimisation et de profilage des performances Java Techniques d'optimisation et de profilage des performances Java Jul 31, 2025 am 03:58 AM

Utilisez des outils d'analyse des performances pour localiser les goulots d'étranglement, utiliser VisualVM ou JProfiler dans la phase de développement et de test, et donner la priorité à l'async-profil dans l'environnement de production; 2. Réduire la création d'objets, réutiliser les objets, utiliser StringBuilder pour remplacer l'épissage de la cha?ne et sélectionner les stratégies GC appropriées; 3. Optimiser l'utilisation de la collection, sélectionner et prérégler la capacité initiale selon la scène; 4. Optimiser la concurrence, utiliser des collections simultanées, réduire la granularité de verrouillage et régler raisonnablement le pool de threads; 5. Assurez les paramètres JVM, définissez la taille du tas raisonnable et le collecteur de déchets à faible latence et activez les journaux GC; 6. évitez la réflexion au niveau du code, remplacez les classes de wrapper par des types de base, retardez l'initialisation et utilisez final et statique; 7. Test et surveillance des performances continues, combinées avec JMH

See all articles