Hallo,
ich möchte aus einem RSS-Feed Daten auslesen und dann in einer MySQL-Datenbank speichern, um die einzelnen Beiträge als Foren-Threads auszugeben. Allerdings wird der SQL-Befehl nicht ausgeführt. Hier der gesamte Code:
Ich habe schon alle Variablen und Datenbank-Namen überprüft. Auch die Reihenfolge der Datenbankfelder stimmt mit der Datenbank überein.
Folgender Code funktioniert auch nicht richtig:
Hier habe ich die SQL-Befehle auskommentiert, um nicht die Datenbank zu füllen. Ganz unten habe ich einfach mal alle Variablen ausgeben lassen. Für jedes XML-Item. Da sieht man, dass die Topic-IDs und die Post-IDs falsch sind (siehe hier: http://xea-design.de/rss2.php ), alles andere Stimmt. Die Post-IDs sollten ca. bei 11000 anfangen, die Topic-IDs ca. bei 50. Ich kann mir das alles nicht erklären. Ich sehe da keinen logischen Fehler drin.
Vielleicht kann mir ja hier geholfen werden. Ich hoffe, ich konnte alles verständlich erklären und bedanke mich im Vorraus für jede Hilfe!
Mit freundlichen Grüßen,
Xea
ich möchte aus einem RSS-Feed Daten auslesen und dann in einer MySQL-Datenbank speichern, um die einzelnen Beiträge als Foren-Threads auszugeben. Allerdings wird der SQL-Befehl nicht ausgeführt. Hier der gesamte Code:
PHP Code:
<?php
mysql_connect("localhost", "USERNAME", "PASSWORT") or die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db("DATNEBANK");
$num = 14;
$xmlfile='http://www.hlportal.de/?site=newsfeed&do=shownewsfeed&news_cat_id=46&feed=RSS2';
$xml = simplexml_load_file(rawurlencode($xmlfile));
if ($xml) {
for ($i=$num; $i>=0; $i--) {
$sql_topics = "SELECT MAX(topic_id) FROM phpbb_topics";
$sql_posts = "SELECT MAX(post_id) FROM phpbb_posts";
$num_rowst = mysql_query($sql_topics);
$num_rowsp = mysql_query($sql_posts);
$topic_id = $num_rowst + 1;
$link = $xml->channel->item[$i]->link;
$title = utf8_decode($xml->channel->item[$i]->title);
$content = utf8_decode($xml->channel->item[$i]->description);
$content_md = md5($content);
$time = strtotime($xml->channel->item[$i]->pubDate);
$post_id = $num_rowsp + 1;
$sql_write = "INSERT INTO phpbb_topics
(topic_id,forum_id,icon_id,topic_attachment,topic_approved,topic_reported,topic_title,topic_poster,topic_time,topic_time_limit,topic_views,topic_replies,topic_replies_real,topic_status,topic_type,topic_first_post_id,topic_first_poster_name,topic_first_poster_colour,topic_last_post_id,topic_last_poster_id,topic_last_poster_name,topic_last_poster_colour,topic_last_post_subject,topic_last_post_time,topic_last_view_time,topic_moved_id,topic_bumped,topic_bumper,poll_title,poll_start,poll_length,poll_max_options,poll_last_vote,poll_vote_change)
VALUES
('$topic_id','23','0','0','1','0','$title','59','$time','0','1','0','0','0','0','$post_id','hlportal.de','105289','2','59','hlportal.de','105289','$title','1277476917','1277476919','0','0','0','','0','0','1','0','0')";
$sql_write_post = "INSERT INTO phpbb_posts
(topic_id,forum_id,poster_id,icon_id,poster_ip,post_time,post_approved,post_reported,enable_bbcode,enable_smilies,enable_magic_url,enable_sig,post_username,post_subject,post_text,post_checksum,post_attachment,bbcode_bitfield,bbcode_uid,post_postcount,post_edit_time,post_edit_reason,post_edit_user,post_edit_count,post_edit_locked,enable_cbgm,post_id)
VALUES
('$topic_id','23','59','0','127.0.0.1','$time','1','0','1','1','1','1','','$title','$content','$content_md','0','','ha2jru4v','1','0','','0','0','0','0','1')";
$sql_write_posted = "INSERT INTO phpbb_topics_posted
(user_id,topic_id,topic_posted)
VALUES
('2','$topic_id','1')";
mysql_query($sql_write);
mysql_query($sql_write_post);
mysql_query($sql_write_posted);
}
}
echo "<h1>$num News gespeichert!</h1>";
?>
Folgender Code funktioniert auch nicht richtig:
PHP Code:
<?php
mysql_connect("localhost", "USERNAME", "PASSWORT") or die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db("DATENBANK");
$num = 14;
$xmlfile='http://www.hlportal.de/?site=newsfeed&do=shownewsfeed&news_cat_id=46&feed=RSS2';
$xml = simplexml_load_file(rawurlencode($xmlfile));
if ($xml) {
for ($i = 0; $i <= $num; $i++) {
$sql_topics = "SELECT MAX(topic_id) FROM phpbb_topics";
$num_rowst = mysql_query($sql_topics);
$topic_id = intval($num_rowst);
$sql_posts = "SELECT MAX(post_id) FROM phpbb_posts";
$num_rowsp = mysql_query($sql_posts);
$post_id = intval($num_rowsp);
$link = $xml->channel->item[$i]->link;
$title = utf8_decode($xml->channel->item[$i]->title);
$content = utf8_decode($xml->channel->item[$i]->description);
$content_md = md5($content);
$time = strtotime($xml->channel->item[$i]->pubDate);
/* $sql_write = "INSERT INTO phpbb_topics
(topic_id,forum_id,icon_id,topic_attachment,topic_approved,topic_reported,topic_title,topic_poster,topic_time,topic_time_limit,topic_views,topic_replies,topic_replies_real,topic_status,topic_type,topic_first_post_id,topic_first_poster_name,topic_first_poster_colour,topic_last_post_id,topic_last_poster_id,topic_last_poster_name,topic_last_poster_colour,topic_last_post_subject,topic_last_post_time,topic_last_view_time,topic_moved_id,topic_bumped,topic_bumper,poll_title,poll_start,poll_length,poll_max_options,poll_last_vote,poll_vote_change)
VALUES
('$topic_id','23','0','0','1','0','$title','59','$time','0','1','0','0','0','0','$post_id','hlportal.de','105289','2','59','hlportal.de','105289','$title','1277476917','1277476919','0','0','0','','0','0','1','0','0')";
$sql_write_post = "INSERT INTO phpbb_posts
(topic_id,forum_id,poster_id,icon_id,poster_ip,post_time,post_approved,post_reported,enable_bbcode,enable_smilies,enable_magic_url,enable_sig,post_username,post_subject,post_text,post_checksum,post_attachment,bbcode_bitfield,bbcode_uid,post_postcount,post_edit_time,post_edit_reason,post_edit_user,post_edit_count,post_edit_locked,enable_cbgm,post_id)
VALUES
('$topic_id','23','59','0','127.0.0.1','$time','1','0','1','1','1','1','','$title','$content','$content_md','0','','ha2jru4v','1','0','','0','0','0','0','1')";
$sql_write_posted = "INSERT INTO phpbb_topics_posted
(user_id,topic_id,topic_posted)
VALUES
('2','$topic_id','1')";
mysql_query($sql_write);
mysql_query($sql_write_post);
mysql_query($sql_write_posted); */
echo "Topic-ID - ". $topic_id ."<br /><br />";
echo "Link - ". $link ."<br /><br />";
echo "Titel - ". $title ."<br /><br />";
echo "Content - ". substr($content, 0, 20) ."...<br /><br />";
echo "MD5 - ". $content_md ."<br /><br />";
echo "Time - ". $time ."<br /><br />";
echo "Post - ". $post_id ."<br /><br /><br />";
}
}
echo "<h1>$num News gespeichert!</h1>";
?>
Vielleicht kann mir ja hier geholfen werden. Ich hoffe, ich konnte alles verständlich erklären und bedanke mich im Vorraus für jede Hilfe!
Mit freundlichen Grüßen,
Xea
Comment