我是这一切的新手,并希望能够让这一切发挥作用。
我正在尝试使用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>';
?>
我试过看但却看不到错误。
答案 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"?>