문제

아래 코드를 사용하여 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>
도움이 되었습니까?

해결책

시도 할 몇 가지 사항 :

  1. 로그를 확인하십시오.
  2. 전화를 옮깁니다 header() 출력 전에 상단에.
  3. 제거하십시오 <blockquote> 태그.
  4. 처리 명령어 추가 (<?xml version="1.0"?>) 위에서, 앞에 <rss> 요소.
  5. 변경 content-type 헤더 text/xml 에게 application/xml.

다른 팁

이 코드를 복사하고 MySQL 설정을 중심으로 변경하면 MAMP 설정에 실제로 존재하는 데이터베이스를 사용하여 테이블이 DB에 존재하지 않기 때문에 0 항목이 적합합니다. 다시 말해, 코드가 아니라 MAMP 설정에 문제가있는 것 같습니다. MySQL 서버가 실행 중이며 연결하기에 적합한 정보가 있다고 확신하십니까?

MAMP에서는 MAMP 패널을 열고 서버> PHP> 로그를 클릭하여 PHP 오류 로그로 이동할 수 있습니다. 설정에 따라 오류가 발생하면 빈 출력이 발생할 수 있습니다. 오류가 올바른 방향으로 안내하는 데 도움이 될 수 있습니다.

모든 출력이 제대로 피해지고 있는지 궁금합니다. MySQL 테이블의 데이터에 특별히 처리 해야하는 문자가 포함되어 있습니까?

PHP CLI를 설치 한 경우 테스트를 위해이를 사용해보십시오. 때로는 웹 브라우저 또는 RSS 클라이언트를 통해 보지 못하는 것을 볼 수 있습니다.

나는 FeedCreator를 사용합니다 http://feedcreator.org/ PHP에 따른 모든 RSS 세대에 대해. 일반적으로 라이브러리를 사용하는 것이 더 쉽다는 것을 알게됩니다. 나는 예를 올렸다 여기.

Short_tags를 비활성화하는 것을 고려할 수도 있습니다. 실제로 XML을 출력하려고하기 때문에 실제로 혼란 스러울 수 있습니다. 특히 페이지 상단에서`` '와 같은 것을 시도하고 보내는 경우.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top