Domanda

ho creato un feed rss in php usando il codice qui sotto. ho ricontrollato tutte le variabili (es. nome utente e password) e sono corrette. mysql è impostato anche correttamente. sto solo ricevendo una pagina vuota quando provo a visualizzarla localmente sul mio computer usando mamp. qualsiasi aiuto sarebbe apprezzato .. questo codice sembra corretto, e c'è qualcos'altro che dovrei usare per vederlo diverso da 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>
È stato utile?

Soluzione

Un paio di cose da provare:

  1. Controlla i registri.
  2. Sposta la chiamata in header() verso l'alto, prima dell'output.
  3. Rimuovi i <blockquote> tag.
  4. Aggiungi un'istruzione di elaborazione (<?xml version="1.0"?>) in alto, prima dell'elemento <rss>.
  5. Cambia l'intestazione content-type da text/xml a application/xml.

Altri suggerimenti

Quando copio questo codice e cambio le impostazioni di MySQL per utilizzare un database che esiste effettivamente per la mia configurazione di MAMP, questo funziona bene per me, con 0 elementi poiché la tabella non esiste nel DB. In altre parole, sembra che qualcosa non vada nel tuo setup di MAMP, non nel tuo codice. Sei assolutamente sicuro che il tuo server MySQL sia in esecuzione e hai le informazioni giuste per collegarti ad esso?

In MAMP è possibile accedere al registro errori PHP aprendo il pannello MAMP e facendo clic su Server > PHP & Gt; Vista del registro. A seconda della configurazione, è possibile che venga visualizzato un output vuoto quando si verifica un errore. L'errore può aiutarti a portarti nella giusta direzione.

Mi chiedo se tutto il tuo output sta sfuggendo correttamente. I dati nella tua tabella mysql includono qualcuno dei caratteri che devono essere trattati in modo speciale?

Se hai installato PHP cli potresti provare a usarlo per testare le cose. A volte vedrai cose che non vedrai attraverso un browser web o un client RSS.

Uso feedcreator http://feedcreator.org/ per tutta la mia generazione di RSS sotto PHP. In genere trovo che sia più facile usare una libreria. Ho pubblicato un esempio qui .

Potresti anche considerare di disabilitare gli short_tag. Poiché stai effettivamente provando a generare XML, potresti effettivamente confondere le cose. Soprattutto se provi a inviare qualcosa come "" nella parte superiore della tua pagina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top