0

対応する地域の郵便番号を使用してプロパティを検索するアプリを作成し、Google マップで検索したいと考えています。PHP/MySql でマップを使用する Google のチュートリアルをテストしていますが、XML でスタックしています。このエラーが表示されます:- このページには次のエラーが含まれています:

行 2 の列 1 のエラー: ドキュメントの末尾にある余分なコンテンツ 以下は、最初のエラーまでのページのレンダリングです。

これはコードです:

    <?php
$username="root";
$password="";
$database="test";

// Start XML file, create parent node
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);


// Opens a connection to a MySQL server
$connection=mysql_connect ('localhost', $username, $password);
if (!$connection) {
  die('Not connected : ' . mysql_error());
}

// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
  die ('Can\'t use db : ' . mysql_error());
}

// Select all the rows in the markers table
$query = "SELECT * FROM markers";
$result = mysql_query($query);
if (!$result) {
  die('Invalid query: ' . mysql_error());
}

header("Content-type: text/xml");


// Iterate through the rows, adding XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
  // ADD TO XML DOCUMENT NODE
  $node = $dom->createElement("marker");
  $newnode = $parnode->appendChild($node);
  $newnode->setAttribute("name", $row['name']);
  $newnode->setAttribute("address", $row['address']);
  $newnode->setAttribute("lat", $row['lat']);
  $newnode->setAttribute("lng", $row['lng']);
  $newnode->setAttribute("distance", $row['distance']);
}

$smd=$dom->saveXML();
echo $smd;

?>
4

1 に答える 1

2

ほとんどの場合、このエラーは、XML ルート要素が見つからないか、一意でない場合に発生します!

あなたの場合: XML の作成が die() で失敗し、この PHP 出力を解析する外部スクリプトがそれを有効な XML として認識しないと思いますか?!

また、上記の StasGrin によるコメントは良い点かもしれません: 最後に前の空白を削除してください! どちらも空白をレンダリングしますが、PHP エラー/警告も発生するはずです。

Warning: Cannot modify header information - headers already sent by (output started at …) in …
于 2012-11-27T13:27:14.203 に答える