意外的T_String错误和rss

时间:2013-11-20 02:32:18

标签: php mysql xml rss

我是这一切的新手,并希望能够让这一切发挥作用。

我正在尝试使用PHP和Mysql创建此RSS源。

我收到了以下错误:

  

“解析错误:语法错误,意外T_STRING” - 第16行,<?xml.....

<?php

//setting the variables
$host = '';
$database = '';
$username = '';
$password = '';

//connecting to the database and server
$db_handle = mysql_connect($host, $username, $password);
$db_found = mysql_select_db($database, $db_handle);

header('Content-Type: application/xml; charset=ISO-8859-1');

?>
<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0">

<channel>
    <title>'.$row['title'].'</title>
    <about>'.$row['about'].'</about>
    <logo>'.$row['logo'].'</logo>
    <website>'.$row['website'].'</website>
    <phone>'.$row['phone'].'</phone>
    <email>'.$row['email'].'</email>
    <facebook>'.$row['facebook'].'</facebook>
<?php
$query = mysql_query("SELECT title, link, description FROM posts");

while($row = mysql_fetch_array($query)){
echo '<item>
    <title>'.$row['title'].'</title>
    <about>'.$row['about'].'</about>
    <logo>'.$row['logo'].'</logo>
    <website>'.$row['website'].'</website>
    <phone>'.$row['phone'].'</phone>
    <email>'.$row['email'].'</email>
    <facebook>'.$row['facebook'].'</facebook>
  </item>';
}
echo '
</channel></rss>';
?>

我试过看但却看不到错误。

2 个答案:

答案 0 :(得分:3)

您启用了短标记,因此<?中的<?xml导致PHP将其解释为开放的PHP标记。

要解决这个问题,请回答这一行:

echo '<?xml version="1.0" encoding="ISO-8859-1"?>';

答案 1 :(得分:1)

您的网络服务器将<?识别为导致问题的<?xml的开放式php标记。

使用 <?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; ?>

而不是<?xml version="1.0" encoding="ISO-8859-1"?>