限界まで修正したのですが、値が格納されません。 何が原因でしょうか? エラーも表示されずデータベースには tutle link date 0 0 2022 のみ表示されております。

補足

$stmtは直接変数を格納したり表示できないのでしょうか?

PHP289閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

この返信は削除されました

その他の回答(2件)

0

> $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//エラーが発生した時に、例外を投げる エラー時に例外を投げるようにしたのに、接続時しか try / catch で拾っていないです。 データベース処理の全てを try{ ... } の入れるべきでしょうね。 × //RSSをまとめる ○ // RSSの取得先をセット ですね。 > 値が格納されません。 > のみ表示されております。 状況が良く分からない... 「表示される」のはツール等を使用してテーブルを見た場合でしょうか? > printf('<h2>%s</h2>', $site_title); で、$site_titleは未定義ですから、エラーになるはずですが? __プログラム開発時はエラーを全て表示する様にすべき 「のみ表示」というのは、エラーで処理が止まっただけとか? > // 個別記事のループ開始 RSSの取得が始まる > foreach ($rss->item as $item) { この時点では、 > foreach ($url1 as $url) { > if (($rss = @simplexml_load_file($url)) === false) { のループの抜けた後なので、$url1の最後、または取得できなかった場合の $rssですけど? 意図通りの動作では無いのでは? > 何が原因でしょうか? デバッグは、想定したものがその様になっているのを確認する事から始まります。 rssから、データベースから、それぞれ想定通りに取得出来ているかの確認が必要でしょう。 __var_dump()でチェックする > $title = $item->title; > $stmt->execute([$title, $link, $date]); $title等は、SimpleXMLElementでしょう。 僕だったら、気持ち悪いので stringにキャストしておくかな。

エラー時に例外を投げるようにしたのに、接続時しか try / catch で拾っていないです。 データベース処理の全てを try{ ... } の入れるべきでしょうね。 A.確かにそうですね。入れるよう書き換えます。○ // RSSの取得先をセットに変えました。 \u003e 値が格納されません。 \u003e のみ表示されております。 状況が良く分からない... 「表示される」のはツール等を使用してテーブルを見た場合でしょうか? A.サイトを表示したときに表示されております。 値が格納されてませんが、70ページ分の700コンテンツくらい意味の分からないコンテンツが格納されているので格納上限を設けず、遅延が原因かもしれんせん。 $url1の最後、または取得できなかった場合の $rssですけど? 意図通りの動作では無いのでは? A.そうですね。取得できたものを格納するつもりです。