参考にしているサイト: ドットインストール
ドットインストールをベースに行なっています。
前回の質問より、1レコードずつ変数に格納するのではなく、fetchAll
の結果をforeach
でループするという事がわかったので、実行してみたのですが実行結果が、以下の様になりました。
###実行結果
(Array)(Array)(Array)(Array)
###コード
php
1try { 2 // connect 3 $db = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD); 4 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 5 6 // select all 7 $stmt = $db->query("select * from formtable"); 8 $users = $stmt->fetchAll(PDO::FETCH_ASSOC); 9 foreach ($users as $key) : 10 echo "($key) $value"; 11 endforeach; 12 13} catch (PDOException $e) { 14 echo $e->getMessage(); 15 exit; 16 17} 18 19 20?>
###行なった事
PDO::FETCH_ASSOC
というデータ形式に指定してみたのですが、変化がなかった為、変更しませんでした。
データ形式に問題があるのでは?と思い調べてみたのですが、質問点にも書いた様に、あまり載っていなかったです。
##質問点
- なぜ、arrayと表示されているか又、どうすれば良いのか
- 引っ張ってくるときにどういうデータ形式で引っ張ってくるかを指定することができかを現在は
PDO::FETCH_ASSOC
としているが、他のデータ形式にするさいのコード(PHPマニュアルで配列などで探したのですが、私の調べる限り出てきませんでしたので、一覧などがあるページ等を提示してくださると幸いです。) - 上記のデータの型のほかのモード(?)として
PDO::FETCH_CLASS
というものがあると知りました。以下の様にPDO::FETCH_CLASS
の説明をしていたのですが、いまいち分かりません。クラスに直接セットできるメリットは何なのでしょうか?
これを使うと抽出したデータを自分が指定したクラスに直接セットできる
参考元: [ドットインストール](https://dotinstall.com/)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/01/04 18:34