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/xmlに変更しapplication/xmlます。
于 2009-03-01T23:13:17.293 に答える
0

このコードをコピーしてMySQL設定を変更し、MAMPのセットアップに実際に存在するデータベースを使用すると、テーブルがDBに存在しないため、0項目で正常に機能します。つまり、コードではなく、MAMPの設定に問題があるようです。MySQLサーバーが実行されており、それに接続するための正しい情報を持っていることを絶対に確信していますか?

于 2009-03-01T23:18:42.367 に答える
0

すべての出力が適切にエスケープされているのだろうか。mysql テーブルのデータには、特別に処理する必要がある文字が含まれていますか?

PHP cli がインストールされている場合は、それをテストに使用してみてください。Web ブラウザーや RSS クライアントでは表示されないものが表示されることがあります。

PHP でのすべての RSS 生成に、feedcreator http://feedcreator.org/を使用しています。一般的に、ライブラリを使用する方が簡単だと思います。ここに例を投稿しました。

short_tags を無効にすることも検討してください。実際に XML を出力しようとしているため、実際には混乱している可能性があります。特に、ページの上部に「」のようなものを送信しようとすると.

于 2009-03-02T01:31:01.643 に答える
0

MAMP では、MAMP パネルを開き、[サーバー] > [PHP] > [ログの表示] をクリックすると、PHP エラー ログにアクセスできます。セットアップによっては、エラーが発生したときに空白の出力が表示される場合があります。エラーは、正しい方向に導くのに役立つ場合があります。

于 2009-03-02T00:03:17.797 に答える