php - XML 错误 'not well formed'

标签 php mysql xml

我有一个返回 xml 文件的 php 文件,由于以下句子,我收到“格式不正确”错误: $name_sql= "SELECT * FROM product_description WHERE product_id = ".$id."";

我初始化的 php 文件:

header('Content-type: text/xml');
header('Pragma: public');
header('Cache-control: private');
header('Expires: -1');

include('config.php');

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

我怎样才能重写那句话?谢谢

<?php
header('Content-type: text/xml');
header('Pragma: public');
header('Cache-control: private');
header('Expires: -1');

include('config.php');

error_reporting(E_ALL);


function getName($id) {

  $name_sql= "SELECT * FROM product_description WHERE product_id = ".$id."";

  $name_query = mysql_query($name_sql) or die('Eroare nume: '.mysql_error());
  $nume = mysql_fetch_array($name_query);
  return $nume;
}


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

$var = mysql_query("SELECT * FROM product order by product_id ASC") or die(mysql_error());
while($var1 = mysql_fetch_array($var)) {
  $nume = getName($var1['product_id']);

  echo '<column><line>'.$nume['name'].'</line></column>';
}


echo '</test>';

<?php

$_CONFIG['db_host'] = 'xyz'; $_CONFIG['db_user'] = 'xyz'; $_CONFIG['db_pass'] = 'xyz'; $_CONFIG['db_name'] = 'xyz';

$_CONFIG['site_URL'] = 'http://xyz.ro';

$lnk = mysql_connect($_CONFIG['db_host'], $_CONFIG['db_user'], $_CONFIG['db_pass']) or die (mysql_error()); mysql_select_db($_CONFIG['db_name'], $lnk) or die (mysql_error());

?>

最佳答案

XML 中的第一行必须是:<?xml version="1.0" encoding="utf-8"?>但是你的include('config.php')可能在它之前输出了一些东西。

尝试这样的事情:

echo '<?xml version="1.0" encoding="utf-8"?>';
include('config.php');

function getName($id) {

  $name_sql= "SELECT * FROM product_description WHERE product_id = ".$id."";

  $name_query = mysql_query($name_sql) or die('Eroare nume: '.mysql_error());
  $nume = mysql_fetch_array($name_query);
  return $nume;
}
echo '<test>';

$var = mysql_query("SELECT * FROM product order by product_id ASC") or die(mysql_error());
while($var1 = mysql_fetch_array($var)) {
  $nume = getName($var1['product_id']);

  echo '<column><line>'.$nume['name'].'</line></column>';
}
echo '</test>';

关于php - XML 错误 'not well formed',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21611367/

相关文章:

MYSQL 重复键更新问题

javascript - 通过点击按钮获取一行的id和value

java - 无法从 editText 获取文本

xml - 无法获取属性值或在 XQuery 中获取错误 XQDY0025

xml - 编译成 xslt?

php - 列出当前日期(现在)之间 1 周内的所有记录

php - 通过返回的id结果数组的elasticsearch查询未按传入的id数组排序

php - 对 PHP func_num_args() 函数感到困惑

javascript - Javascript 或 PHP for 循环中是否有 "superbreak"?

php - 我想使用 .htaccess 从 url 中删除问号和 .php 扩展名