2011-07-09 99 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上,我們鼓勵您通過點擊該答案旁邊的複選標記來接受您的問題的最佳答案。如果這解決了您的問題,並且您沒有收到更好的答覆,請考慮接受它。 –