Pergunta

Eu criei um feed rss em php usando o código abaixo. eu tenho o dobro verificado todas as variáveis ??(ou seja, nome de usuário e senha) e eles estão corretos. mysql está configurado corretamente também. eu estou apenas começando uma página em branco quando eu tento ver isso localmente no meu computador usando MAMP. qualquer ajuda seria apreciada .. faz este código olhar correto, e há algo mais que eu deveria estar usando para visualizar este que não 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>
Foi útil?

Solução

Algumas coisas para tentar:

  1. Verifique os logs.
  2. Mover a chamada para header() ao topo, antes da saída.
  3. Remova as tags <blockquote>.
  4. Adicione uma instrução de processamento (<?xml version="1.0"?>) no topo, antes do elemento <rss>.
  5. Alterar o cabeçalho content-type de text/xml para application/xml.

Outras dicas

Quando eu copiar este código e mudança em torno das definições do MySQL para usar um banco de dados que realmente existe para a minha configuração de MAMP, esta multa trabalha para mim, com 0 artigos desde a tabela não existe no DB. Em outras palavras, parece que algo está errado com sua configuração MAMP, não seu código. Você está absolutamente certo de que seu servidor MySQL está em execução e que você tem as informações corretas para se conectar a ele?

Em MAMP você pode chegar ao log de erro do PHP abrindo o painel de MAMP e clicando Servidor> PHP> Ver registo. Dependendo da configuração que você pode obter uma saída em branco quando ocorre um erro. O erro pode ajudar a levá-lo na direção certa.

Gostaria de saber se toda a sua saída está sendo escapou corretamente. Será que os dados na sua tabela mysql incluem qualquer um dos personagens que precisam ser tratados de maneira especial?

Se você tem o cli PHP instalado, você pode tentar usar isso para testar as coisas. Às vezes você vai ver coisas que você não vai ver através de um navegador web ou o cliente RSS.

Eu uso feedcreator http://feedcreator.org/ para toda a minha geração RSS sob PHP. Eu geralmente acham que é mais fácil de usar uma biblioteca. Eu postei um exemplo aqui .

Você também pode querer considerar a desativação short_tags. Porque você está realmente tentando XML de saída, você pode realmente ser confundindo as coisas. Especialmente se você tentar enviar algo como '' no topo de sua página.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top