我承认我不是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能够正常运行。)
$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);
を使用してスルースルーアウトスルーアウトスルーアウトスルーアウトオフ ‐ ‐‐ ‐‐ ‐ and ‐ dump_mem(false) } }
また、テスト データベース上のデータにアクセスするためのユーザーを作成する必要があります。データベースやテーブルなどを作成する手順については、MySQL ドキュメントを参照してください。 コードを分析すると、CMySqlXML というクラスを作成したことがわかります。 CMySqlXML コンストラクターは、MySQL ホスト名、有効なユーザー名、パスワード、データベース名という 4 つのパラメーターを受け入れます。コンストラクターは、これら 4 つのパラメーターを使用して、クラスのホスト、ユーザー、パスワード、および db メンバー変数を設定します。
すべての行をループした後、コードは結果セットを解放し、接続を閉じます。結果の DOMDocument XML が関数から返されます。
PHP ページの先頭で、CMySqlXML オブジェクトがインスタンス化され、run_sql_return_xml() メソッドが呼び出されていることがわかります。このメソッドの戻り値はクライアントに返されます。 domxml 関数は、PHP 関数の命名規則を除き、DOM 仕様に準拠しています。
DOM 仕様についてさらに詳しい情報が必要な場合は、W3C のサイトにアクセスしてください。 domxml の詳細については、The PHP Group から参照してください。さまざまな形式のドキュメントをダウンロードできます。
---------------------------------------------- --- ----------------------------------この記事の著者: Phillip Perkins は、アジロンコンサルティング。彼の経験は、マシン制御、クライアント/サーバーからイントラネット アプリケーションまで多岐にわたります。
www.bkjia.com