回答編集履歴

1

追記

2017/09/11 00:21

投稿

退会済みユーザー
test CHANGED
@@ -3,3 +3,33 @@
3
3
  でイイ気がする。
4
4
 
5
5
  [PDOStatement::fetchAll](http://php.net/manual/ja/pdostatement.fetchall.php)
6
+
7
+
8
+
9
+ **追記**
10
+
11
+ 回答がちょっと雑だったんで追記します。
12
+
13
+
14
+
15
+ *確認しておきたい知識
16
+
17
+ ・PDO::query を実施すると、[PDOStatement](http://php.net/manual/ja/class.pdostatement.php) オブジェクトを返します。
18
+
19
+ ・json_encode() は、resource 型以外の任意の型を JSON 形式にした文字列として返します。
20
+
21
+
22
+
23
+ 今回のケースでは、json_encode() に PDOStatement をそのまま入れているため、PDOStatement のプロパティ(queryString)が表示されています。
24
+
25
+ 本来期待するのは「結果セット」を json_encode したいので、「結果セット」を渡して上げる必要があります。
26
+
27
+ PDOStatement から全ての結果行を含む配列をとりだすには、PDOStatement::fetchAll が用意されているので、最初の回答のように記述すると、「結果セット」の配列を json_encode することが出来ます。
28
+
29
+
30
+
31
+ 結果セットとして渡す配列は、[PDOフェッチパターン大全](http://qiita.com/mpyw/items/d52351bd1a8068344cc2)のように、PDO::FETCH_* 定数 を PDOStatement::fetchAll に与えることで、容易に調整できるので、必要であれば、そちらを使って加工すると良いです。
32
+
33
+
34
+
35
+