質問: $stmt->fetch(PDO::FETCH_ASSOC) ){ 」で1行ずつ$rowを別の変数に追加していくのと同じ処理というイメージで良いのでしょうか? 初歩的な質問で申し訳ございませんが、どなたかご解説ください。
回答: > > ・idは主キーなので1件しか返ってきませんが、ループさせる必要はあるのでしょうか? > > > 1件しか無いはずならばループさせる必要はないですが、まあテンプレみたいな感じとしてループで取ってきてるのかと > > ・feachで回すループ「while( $row = $stmt->fetch(PDO::FETCH_ASSOC) ){ 」で1行ずつ$rowを別の変数に追加していくのと同じ処理というイメージで良いのでしょうか? > > > PDOStatementはTraversableインターフェイスを実装してますのでforeachを利用することができます http://php.net/manual/ja/class.pdostatement.php http://php.net/manual/ja/class.traversable.php なので、データを取る意味では同じです(ただしforeachで取ってくる場合はPDO::FETCH_ASSOCなのかPDO::FETCH_BOTHなのかはPHPのpdostatement実装次第・・・多分PDO::FETCH_BOTHの形式かな) > > 「★ここ」で$row['name']を呼び出しているのはなぜでしょうか? > > > 多分意味はない・・・こうやってデータとれますよって言うためにサンプルとして書いてるだけの気がしますね。 ※全体のソースかどうかわからないのでなんとも言えませんが ``` $_SESSION["NAME"] = $row['name']; ``` データがないときはエラーになりそうな気がする(存在しないエラー)