回答編集履歴

3

間違い

2018/04/29 02:19

投稿

tekka
tekka

スコア514

test CHANGED
@@ -64,8 +64,6 @@
64
64
 
65
65
  ```PHP
66
66
 
67
- $value_ary = $stmt -> fetchALL();
68
-
69
67
  while($value = $stmt->fetch())
70
68
 
71
69
  echo $value['id'];

2

追記

2018/04/29 02:19

投稿

tekka
tekka

スコア514

test CHANGED
@@ -29,3 +29,63 @@
29
29
  $value['id'];
30
30
 
31
31
  の形式で取得したい場合はfetchを使いましょう。
32
+
33
+
34
+
35
+ しかしfetchですと先頭の一行しか取得できません。
36
+
37
+ そもそも全行取得しつつ、$value['id']の形式でアクセスしたいのなら
38
+
39
+
40
+
41
+ ```PHP
42
+
43
+ $value_ary = $stmt -> fetchALL();
44
+
45
+ foreach($value_ary as $value){
46
+
47
+ echo $value['id'];
48
+
49
+ echo $value['code'];
50
+
51
+ echo $value['prod_name'];
52
+
53
+ echo $value['mount'];
54
+
55
+ echo $value['category'];
56
+
57
+ echo $value['end_date'];
58
+
59
+ }
60
+
61
+ ```
62
+
63
+ あるいは
64
+
65
+ ```PHP
66
+
67
+ $value_ary = $stmt -> fetchALL();
68
+
69
+ while($value = $stmt->fetch())
70
+
71
+ echo $value['id'];
72
+
73
+ echo $value['code'];
74
+
75
+ echo $value['prod_name'];
76
+
77
+ echo $value['mount'];
78
+
79
+ echo $value['category'];
80
+
81
+ echo $value['end_date'];
82
+
83
+ }
84
+
85
+ ```
86
+
87
+ となるでしょう。
88
+
89
+
90
+
91
+ fetchAllで取得できるのは配列の配列であると理解することが大事です。

1

追記

2018/04/29 02:18

投稿

tekka
tekka

スコア514

test CHANGED
@@ -17,3 +17,15 @@
17
17
  ```
18
18
 
19
19
  です。
20
+
21
+
22
+
23
+ 追記:
24
+
25
+
26
+
27
+ http://php.net/manual/ja/pdostatement.fetch.php
28
+
29
+ $value['id'];
30
+
31
+ の形式で取得したい場合はfetchを使いましょう。