0

我已经使用下面的代码在 php 中创建了一个 rss 提要。我已经仔细检查了所有变量(即用户名和密码)并且它们是正确的。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>
4

4 回答 4

1

有几件事可以尝试:

  1. 检查日志。
  2. 在输出之前将调用移到header()顶部。
  3. 删除<blockquote>标签。
  4. 在元素<?xml version="1.0"?>之前的顶部添加处理指令 ( )。<rss>
  5. content-type将标题从更改text/xmlapplication/xml
于 2009-03-01T23:13:17.293 回答
0

当我复制此代码并更改 MySQL 设置以使用实际存在的用于我的 MAMP 设置的数据库时,这对我来说很好,因为该表在数据库中不存在,所以有 0 个项目。换句话说,您的 MAMP 设置似乎有问题,而不是您的代码。你确定你的 MySQL 服务器正在运行并且你有正确的信息来连接它吗?

于 2009-03-01T23:18:42.367 回答
0

在 MAMP 中,您可以通过打开 MAMP 面板并单击服务器 > PHP > 查看日志来访问 PHP 错误日志。根据您的设置,当发生错误时,您可能会得到空白输出。该错误可能会帮助您朝着正确的方向前进。

于 2009-03-02T00:03:17.797 回答
0

我想知道您的所有输出是否都正确转义。您的 mysql 表中的数据是否包含任何需要特殊处理的字符?

如果您安装了 PHP cli,您可能会尝试使用它来进行测试。有时您会看到通过 Web 浏览器或 RSS 客户端看不到的内容。

我使用 feedcreator http://feedcreator.org/在 PHP 下生成所有 RSS。我通常发现使用库更容易。我在这里发布了一个例子。

您可能还需要考虑禁用 short_tags。因为您实际上是在尝试输出 XML,所以实际上您可能会感到困惑。特别是如果您尝试在页面顶部发送类似“”的内容。

于 2009-03-02T01:31:01.643 回答