Pregunta

he creado un feed rss en php usando el siguiente código. He verificado dos veces todas las variables (es decir, nombre de usuario y contraseña) y son correctas. mysql también está configurado correctamente. Estoy recibiendo una página en blanco cuando intento ver esto localmente en mi computadora usando mamp. cualquier ayuda sería apreciada ... ¿este código parece correcto, y hay algo más que debería usar para ver esto además de 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>
¿Fue útil?

Solución

Un par de cosas para probar:

  1. Verifique los registros.
  2. Mueva la llamada a header() hacia arriba, antes de la salida.
  3. Elimine las etiquetas <blockquote>.
  4. Agregue una instrucción de procesamiento (<?xml version="1.0"?>) en la parte superior, antes del elemento <rss>.
  5. Cambie el encabezado content-type de text/xml a application/xml.

Otros consejos

Cuando copio este código y cambio la configuración de MySQL para usar una base de datos que realmente existe para mi configuración de MAMP, esto funciona bien para mí, con 0 elementos ya que la tabla no existe en la base de datos. En otras palabras, parece que algo está mal con su configuración de MAMP, no con su código. ¿Está absolutamente seguro de que su servidor MySQL se está ejecutando y tiene la información correcta para conectarse?

En MAMP puede acceder al registro de errores de PHP abriendo el panel MAMP y haciendo clic en Servidor > PHP & Gt; Ver registro. Dependiendo de su configuración, puede obtener resultados en blanco cuando se produce un error. El error puede ayudar a guiarlo en la dirección correcta.

Me pregunto si toda su salida se escapa correctamente. ¿Los datos en su tabla mysql incluyen alguno de los caracteres que necesitan ser tratados especialmente?

Si tiene instalado PHP cli, puede intentar usarlo para probar cosas. A veces verá cosas que no verá a través de un navegador web o un cliente RSS.

Uso feedcreator http://feedcreator.org/ para toda mi generación de RSS en PHP. Generalmente encuentro que es más fácil usar una biblioteca. Publiqué un ejemplo aquí .

.

También puede considerar deshabilitar short_tags. Debido a que en realidad está intentando generar XML, es posible que esté confundiendo cosas. Particularmente si intentas enviar algo como '' en la parte superior de tu página.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top