エラー内容
Invalid argument supplied for foreach() = PHPのforeach文で配列データを取り出そうとした場合に、配列のデータが入っていない時に出るエラー。
foreach文=配列の要素がある分だけ繰り返し処理をするループ文。
解決方法
まずは、配列データが入っているかを判定する必要があります。
foreach文で使えるのは配列とオブジェクトのみなので、(arry)を使用して変数を強制的に配列にしてあげることで対処できます。
配列とオブジェクトについては別の記事に投稿します。
foreach($stmt as $row){
//処理内容
}
↓
foreach((array)$stmt as $row){
//処理内容
}
参考元はこちら
(https://memocarilog.info/wordpress/5132)
(https://qiita.com/takuma-jpn/items/678876ad12b9ae9998ac)