PHP,在写入Xml文件时使用爆炸函数出错


PHP, Using the explode function during writing in Xml file error

我正试图将一些位置写入一个xml文件中,以便稍后使用它们。在我决定使用爆炸之前,它一直在工作。它给了我一个错误,即:"第2行第1列的错误:文档末尾的额外内容以下是第一个错误之前的页面呈现。"这是代码:

<?php 
$conn=mysqli_connect("localhost", "thecode007", "007","offers") or die(mysql_error());
$query = "SELECT * FROM Branches";
$result = mysqli_query($conn,$query) or die(mysql_error());
 $doc = new DomDocument('1.0');
$node = $doc->createElement("markers");
$parnode = $doc->appendChild($node);
header("Content-type: text/xml");
while($row = mysqli_fetch_array($result))
{
$node = $doc->createElement("marker");
$newnode = $parnode->appendChild($node);
$loc=explode(",",$row);
$newnode->setAttribute("location", $loc[0]);
}
print $doc->saveXML();
?>

问题在于爆炸:

$loc=explode(",",$row);

$row已经是数组。"分解"用于将字符串拆分为数组。如果不了解查询返回的数据是什么,这是很困难的,但假设您希望结果的整个第一列是$loc,那么只需删除explode()调用并替换为:

$loc = $row[0];

注意,这太糟糕了。您应该将select中的*替换为实际列的名称。在这种形式下,您的程序非常脆弱,因为对第一列的更改将更改$loc中存储的信息。

ps。是的,删除?>在文件末尾,但这不是问题所在。