【问题标题】:php: Extra content at the end of the documentphp:文档末尾的额外内容
【发布时间】:2014-01-02 19:04:37
【问题描述】:

我想使用这个脚本来生成 Xml 文件,首先它运行良好,但我不知道为什么我不能使用它

require 'dbconfig.php';

$qr = 'SELECT * FROM pharmacie ';
$res = mysql_query($qr);
#res to array
while ($datas = mysql_fetch_assoc($res)) {
    $result[] = array(
        'nom' => $datas['nom'],
        'prenom' => $datas['prenom'],
        'adresse' => $datas['adresse'],
        'type' => $datas['type'],
        'phone' => $datas['phone'],
        'fax' => $datas['Fax'],
        'email' => $datas['Email'],
       'ville' => $datas['Ville'],
        'region' => $datas['Region'],
    );
}
header("Content-Type:text/xml");

?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<people>
<?php foreach ($result as $v) : ?>
    <person> 
        <nom><? = $v['nom']; ?></nom>
        <prenom><? = $v['prenom']; ?></prenom>
        <adresse><? = $v['adresse']; ?></adresse>
         <typeph><? = $v['type']; ?></typeph>
         <phone><? = $v['phone']; ?></phone>
         <phone><? = $v['fax']; ?></phone>
         <email><? = $v['email']; ?></email>
          <region><? = $v['region']; ?></region>
        <ville><? = $v['ville']; ?></ville>
       </person>

   <?php endforeach; ?>
</people>       

我收到了这条消息 此页面包含以下错误:

第 2 行第 1 列的错误:文档末尾的额外内容 下面是出现第一个错误之前的页面渲染。

我该如何修复它

【问题讨论】:

  • 为什么先是 while 循环,然后是 foreach 循环?您不能只使用第一个 while 循环来创建您的 XML 元素吗?
  • 向我们展示它正在输出的 XML。
  • 尝试echo '&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt; 而不仅仅是&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;(PHP 短标签可能会导致问题)。
  • @putvande 他在那一行的正上方有一个 PHP 结束标签 ;)

标签: php xml


【解决方案1】:

这是因为 PHP 的 open 和 echo 短标签具有以下语法

<?= 'print me' ?>

你的版本(注意空格)

<? = 'print me' ?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多