2011-07-09 68 views
0

我正在编写一个php脚本,用于导出数据库并将内容打印为XMl。所以我有这个用java为php创建web服务(XML)

<?php 
require('connect.php'); 

$query = mysql_query("SELECT * FROM blog_comments"); 
$database="MyWebsite"; 
$table = "blog_comments"; 
echo mysql_error(); 


echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"; 

echo "<$database>"; 
$i=0; 
while($row=mysql_fetch_assoc($query)) 
{ 
    echo "<$table>"; 
      while ($i < mysql_num_fields($query)) 
      { 
       $meta = mysql_fetch_field($query); 
       echo "<".$meta->name.">".$row['$meta->name']."</".$meta->name."><br/>"; 
       $i++; 
      } 
      $i=0; 
    echo "</$table>"; 
} 

echo "</$database>"; 


?> 

而且我的输出是

<?xml version="1.0" encoding="utf-8" ?> 
<MyWebsite> 
<blog_comments> 
    <></> 
    <></> 
    <></> 
    <></> 
    <></> 
    <></> 
    <></> 
    <></> 
</blog_comments> 
<blog_comments> 
    <></><></><></><></><></><></><></><></> 
</blog_comments> 
<blog_comments> 
    <></><></><></><></><></><></><></><></> 
</blog_comments> 
<blog_comments> 
    <></><></><></><></><></><></><></><></> 
</blog_comments> 
<blog_comments> 
    <></><></><></><></><></><></><></><></> 
</blog_comments> 
<blog_comments> 
    <></><></><></><></><></><></><></><></> 
</blog_comments> 
<blog_comments> 
    <></><></><></><></><></><></><></><></> 
</blog_comments> 
<MyWebsite> 

一切的号码是正确的,但由于某种原因,我没有得到打印的值。我这样做是因为我的网站主机不允许远程数据库连接,我需要从我的Java应用程序连接到数据库。所以我想从我的Java应用程序调用一个PHP页面,它会回应XML包含我的数据,然后我解析这个XML和使用相关的数据

我需要帮助如何使这项工作,所以我可以实现以上目标..谢谢 非常感谢。

+0

所有数据都是正确的,但由于某些原因,我没有得到打印值。我需要使其工作,以便我可以使用我的Java应用程序中的数据库。 – DaMainBoss

+0

下次请将您的代码和*输出到*您的问题中。通过这种方式,潜在的回答者不需要导航到其他网站来了解您的问题。我冒昧地在这里包含代码和输出。 –

+0

我试过但它不合适,你是怎么做到的? – DaMainBoss

回答

1

我并不积极,但我认为mysql_fetch_assoc基本上是“燃烧”您的查询结果,而对于同一个查询,您不能先调用它。然而,如果你想要的只是名字,你不需要获取所有这些字段信息,只需使用:

echo "<{$table}>"; 
foreach($row as $key => $val){ 
    echo "<{$key}>{$val}</{$key}>"; 
} 
echo "</{$table}>"; 
+0

非常感谢。我真的很感激...真的很有帮助 – DaMainBoss

+0

@DaMainBoss:在StackOverflow上,我们鼓励您通过点击该答案旁边的复选标记来接受您的问题的最佳答案。如果这解决了您的问题,并且您没有收到更好的答复,请考虑接受它。 –