欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【用MySQL和PHP创建XML】,下面是详细的分享!
用MySQL和PHP创建XML
XML是作为数据交换标准而出现的。Java和.NET都内在支持XML,但是其它平台上的开发者也不用担心自己被这项技术所遗弃了。PHP就是一个颇受欢迎的支持XML的脚本环境。
在本文中,我将向你介绍利用诸如PHP和MySQL这样的开放源码工具来处理XML的过程。我将以执行一个MySQL查询并把从查询所得到数据格式化为XML为例来加以说明。最后,在开始埋头编写代码之前,我将介绍如何把XML写入文件并检测系统设置。
为了可以运行本文所给出的代码,你需要能过运行PHP和MySQL,而且为了充分利用这些例子,你还需要知道主机名、用户名和口令。例子中的MySQL数据库的格式如图A所示。让我们看看如何用PHP来连接该数据库。
用PHP建立数据库连接
下面的PHP脚本建立到数据库的连接并执行一个查询:
| 以下为引用的内容: <?php $db_name="xrandomusa_4"; $connection=mysql_connect("MySQL.somewhere.com", "username", "password") or die("Could not connect."); $table_name='pages'; |
查询MySQL
在MySQL连接建立之后,你必须用该连接来建立当前数据库。下面的代码就是用来完成这个任务的:
$db=mysql_select_db($dbName, $link);
现在,用一个SQL语句来选择$table_name中的所有行:
$query="select * from " . $table_name;
如有必要,你可以随后添加属性。现在,如下执行查询:
$result=mysql_query($query, $connection) or die("Could not complete database query");
$num=mysql_num_rows($result);
你可以通过PHP.net网站来获得关于所有MySQL函数的参考资料。
建立并编写XML
现在,你应该已经做好了建立新XML文档的准备了。这有许多种方法,不过我认为清单A中所用到的方法可以满足绝大多数目的。
现在我们详细介绍这一过程。变量num表示你查询的数据行出现与否,它对MySQL的mysql_num_rows函数是可测的。变量$file包含了一个指针,该指针指向PHP在文件系统中成功的搜索到results.xml时所产生文件对象。如果找到result.xml,则创建你的PHP文件对象以及指定文件,且其属性是可写的。现在你可以把一个变量的内容打印到创建后的文件(由于你的目录已经设置为允许PHP写文件,所以这么做是没有问题的)。
注意,从安全的角度来考虑,在实际的应用程序开发中这么做其实是很愚蠢的。为了确保你能够安全的实现本文所涉及的概念,你应该为你所希望打开并写入的文件提供完全路径,并确保该文件位于你的Web根目录之下。
然后,PHP的mysql_fetch_array函数把查询变量$result转换成一个数组,并按其关键字进行循环。如果pgaeTitle在查询所返回的栏之中,对每一行返回值都向字符串变量$_xml写入某些文本。
注意运算符“.=”(它用来把XML格式的字符串当作数值来拼接)读取$row。当循环结束的时候,根XML节点打印到变量$_xml之中,所有的变量用PHP的fwrite函数写入file.xml文件之中。
现在,屏幕上显示出一个链接。确保这条链接指向你的XML文件的路径,否则你无法看到这个格式化XML(该文件用PHP处理MySQL查询而产生)。
以上所分享的是关于用MySQL和PHP创建XML,下面是编辑为你推荐的有价值的用户互动:
相关问题:php与mysql怎么在同一个数据库中建立两个表
答:MYSQL系统一个数据库下可以建立多个表,分别多次执行建表语句即可,例如下面的代码在test数据库下建立tab1、tab2两个表: mysql_connect('127.0.0.1', 'root', '123456');mysql_select_db('test');mysql_query('create table tab1 (k integet, v... >>详细
相关问题:初学PHP,用的wamp5集成,什么php与mysql建立连接...
答:wamp5安装好只是有了一个环境,你还要有工具 写代码的工具有很多,我用的是dearmweaver 你说的用户名,密码是数据库的,这个你在安装wamp5的时候就有设置了,可能你没注意 默认一般是root密码为空 但你访问这个文件的时候,浏览器显示 链接成功 ... >>详细
相关问题:如何知道php与mysql是否已经建立连接
答:导入到数据库空间去。传不了的。用脚本 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
