RSSをデータベースに格納できない
昨日教えていただいたコードで格納して表示するところまで成功しました。
自分の不注意でデータベースネームと違う、新規作成したテーブルに格納していたため起こったエラーでした。申し訳ありません。
再度全体のコードと組み合わせてみたのですがエラーが起こり困っております。
Uncaught Error: Call to a member function insert() on null
<?php
$url1 = [
'http://blog.livedoor.jp/dqnplus/index.rdf',
'http://alfalfalfa.com/index.rdf',
'http://himasoku.com/index.rdf',
];
foreach ($url1 as $url) {
$count = 0;
$rss = simplexml_load_file($url);
foreach ($rss->item as $item) {
if ($count >= 8) {
break;
}
++$count;
$title = (string) $item->title; //「$item->title」だけではうまくいかないのでstringにキャスト
$link = (string) $item->link; //以下同じ
$thumb = (string) $item->thumb->url;
$content = (string) $item->description;
$wpdb->insert('rssfeed', ['title' => $title, 'link' => $link, 'thumb' => $thumb, 'content' => $content], ['%s', '%s', '%s', '%s']);
}
}
$results = $wpdb->get_results('SELECT * FROM rssfeed');
foreach ($results as $item) {
echo $item->title.'<br>';
}
?>
<?php $wpdb->show_errors(); ?>
お礼
すみません、自己解決しました。 Movable Typeの管理者ページでindex.xmlの書式パターンを <channel> ~ <item>~</item> ・ ・ </channel> から <channel> ~ </channel> <item>~</item> ・ ・ に変更するという荒技でMagpieRSSでの読み取りを可能にしました。 BLUEPIXYさん、お忙しい中ご回答いただいたのに、申し訳ありません。 ですが、お答えの中に今後のヒントになるものを感じましたので、あらためて御礼申し上げます。