Вопрос

Я создал RSS-канал в PHP, используя приведенный ниже код.я дважды проверил все переменные (т.е.имя пользователя и пароль), и они верны.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>
Это было полезно?

Решение

Пара вещей, которые стоит попробовать:

  1. Проверьте журналы.
  2. Перевести звонок на header() вверху, перед выводом.
  3. Удалить <blockquote> теги.
  4. Добавьте инструкцию обработки (<?xml version="1.0"?>) вверху, перед <rss> элемент.
  5. Изменить content-type заголовок из text/xml к application/xml.

Другие советы

Когда я копирую этот код и меняю настройки MySQL, чтобы использовать базу данных, которая действительно существует для моей настройки MAMP, у меня это работает нормально, с 0 элементами, поскольку таблица не существует в БД.Другими словами, кажется, что что-то не так с вашей настройкой MAMP, а не с вашим кодом.Вы абсолютно уверены, что ваш сервер MySQL работает и у вас есть нужная информация для подключения к нему?

В MAMP вы можете получить доступ к журналу ошибок PHP, открыв панель MAMP и нажав Сервер > PHP > Просмотр журнала.В зависимости от ваших настроек вы можете получить пустой вывод при возникновении ошибки.Ошибка может помочь вам в правильном направлении.

Интересно, правильно ли экранируется весь ваш вывод?Содержат ли данные в вашей таблице MySQL какие-либо символы, требующие особой обработки?

Если у вас установлен PHP-клиент, вы можете попробовать использовать его для тестирования.Иногда вы увидите вещи, которые не увидите через веб-браузер или RSS-клиент.

Я использую фидкреатор http://feedcreator.org/ для всей моей генерации RSS под PHP.Обычно я считаю, что проще использовать библиотеку.я разместил пример здесь.

Вы также можете рассмотреть возможность отключения short_tags.Поскольку вы на самом деле пытаетесь вывести XML, вы можете что-то запутать.Особенно, если вы попытаетесь отправить что-то вроде «» вверху страницы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top