我使用下面的代码在php中创建了一个rss feed。我已经仔细检查了所有变量(即用户名和密码),它们是正确的。 mysql也正确设置。当我尝试使用mamp在我的计算机上本地查看时,我只是得到一个空白页面。任何帮助将不胜感激..这段代码看起来是否正确,除了mamp之外还有其他我应该用来查看这个吗?
<? header('Content-type: text/xml'); ?>
<?php
$dbhost = "localhost"; // almost always localhost.
$dbname = "links"; // Database Name
$dbuser = "root"; // Database Username
$dbpass = "password"; // Databse Password
$connect = mysql_connect("$dbhost","$dbuser","$dbpass");// Connecting to Database
mysql_select_db($dbname) or die (mysql_error()); // Selecting Database
?>
<rss version="2.0">
<channel>
<title> </title>
<description> </description>
<link></link>
<?
$sql = "SELECT * FROM news limit 5";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
?>
<item>
<title><?=$row['title']; ?></title>
<author><?=$row['author']; ?></author>
<link>http://MYSITE.com/news.php?id=<?=$row['id']; ?></link>
</item>
<?
}
?>
</channel>
</rss>
答案 0 :(得分:1)
有几件事要尝试:
header()
顶部。<blockquote>
代码。<?xml version="1.0"?>
元素之前的顶部添加处理说明(<rss>
)。content-type
标题从text/xml
更改为application/xml
。答案 1 :(得分:0)
当我复制此代码并更改MySQL设置以使用实际存在于我的MAMP设置中的数据库时,这对我来说很好,有0项,因为数据库中不存在该表。换句话说,您的MAMP设置似乎有问题,而不是您的代码。您是否确定您的MySQL服务器正在运行并且您有正确的信息可以连接到它?
答案 2 :(得分:0)
在MAMP中,您可以通过打开MAMP面板并单击Server&gt;来访问PHP错误日志。 PHP&gt;查看日志。根据您的设置,发生错误时可能会出现空白输出。该错误可能有助于引导您朝着正确的方向前进。
答案 3 :(得分:0)
我想知道你的所有输出是否都被正确转义了。 mysql表中的数据是否包含需要特殊处理的任何字符?
如果安装了PHP cli,可以尝试使用它进行测试。有时您会看到通过Web浏览器或RSS客户端看不到的内容。
我在PHP下使用feedcreator http://feedcreator.org/进行所有RSS生成。我通常发现使用库更容易。我发布了一个示例here。
您可能还想考虑禁用short_tags。因为您实际上是在尝试输出XML,所以实际上可能会让您感到困惑。特别是如果您尝试在页面顶部发送类似''的内容。