質問編集履歴

1

どの部分で処理が止まっているかを説明

2016/05/15 06:03

投稿

GoNa
GoNa

スコア11

test CHANGED
File without changes
test CHANGED
@@ -22,6 +22,8 @@
22
22
 
23
23
  結果ステートメントを返り値として呼び出し元(メイン)で使用したいと考えています。
24
24
 
25
+ メインの1行目の処理でSELECTの結果が変数に入れたいのですが、入ってくれません。
26
+
25
27
 
26
28
 
27
29
 
@@ -34,7 +36,7 @@
34
36
 
35
37
  ###該当のソースコード
36
38
 
37
- //メイン
39
+ //------------- メイン ---------------------------------------
38
40
 
39
41
  //データが存在していればテンポラリからデータを反映させる
40
42
 
@@ -90,9 +92,117 @@
90
92
 
91
93
 
92
94
 
93
-
95
+ //------------- マッパークラス ---------------------------------------
96
+
94
-
97
+ class tradingsMapper extends _dataMapper
98
+
99
+ {
100
+
101
+ private $TABLE_NAME = 'tradings';
102
+
103
+ private static $instance;
104
+
105
+ private $dbh;
106
+
107
+
108
+
109
+ private function __construct()
110
+
111
+ {
112
+
113
+ $this->dbh = databaseHandler::getInstance();
114
+
115
+ }
116
+
117
+
118
+
119
+ public static function getInstance()
120
+
121
+ {
122
+
123
+ if ( !isset( self::$instance) )
124
+
125
+ {
126
+
127
+ self::$instance = new self();
128
+
129
+ }
130
+
131
+ return self::$instance;
132
+
133
+ }
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+ public function getDistinctData( $column_name )
142
+
143
+ {
144
+
145
+ $qty = count( $column_name );
146
+
95
- //DBクラス
147
+ $sql = '';
148
+
149
+ $sql .= 'SELECT DISTINCT ';
150
+
151
+ for ( $cnt=0; $cnt<$qty; $cnt++ )
152
+
153
+ {
154
+
155
+ echo $cnt . "\n";
156
+
157
+ $sql .= ($cnt === 0) ? ' ? ' : ', ? ';
158
+
159
+ }
160
+
161
+ $sql .= 'FROM ? ';
162
+
163
+
164
+
165
+ try
166
+
167
+ {
168
+
169
+ $bind = $column_name;
170
+
171
+ $cnt = array_push( $bind , $this->TABLE_NAME );
172
+
173
+ print_r( $bind );
174
+
175
+ print( $sql . "\n" );
176
+
177
+ $stmt = $this->dbh->getData( $sql , $bind );
178
+
179
+ }
180
+
181
+ catch( Exception $e )
182
+
183
+ {
184
+
185
+ $stmt = NULL;
186
+
187
+ }
188
+
189
+ print_r( $stmt );
190
+
191
+ return $stmt;
192
+
193
+ }
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+ }
202
+
203
+
204
+
205
+ //------------- DBクラス ---------------------------------------
96
206
 
97
207
  class databaseHandler
98
208
 
@@ -212,114 +322,6 @@
212
322
 
213
323
 
214
324
 
215
- //マッパークラス
216
-
217
- class tradingsMapper extends _dataMapper
218
-
219
- {
220
-
221
- private $TABLE_NAME = 'tradings';
222
-
223
- private static $instance;
224
-
225
- private $dbh;
226
-
227
-
228
-
229
- private function __construct()
230
-
231
- {
232
-
233
- $this->dbh = databaseHandler::getInstance();
234
-
235
- }
236
-
237
-
238
-
239
- public static function getInstance()
240
-
241
- {
242
-
243
- if ( !isset( self::$instance) )
244
-
245
- {
246
-
247
- self::$instance = new self();
248
-
249
- }
250
-
251
- return self::$instance;
252
-
253
- }
254
-
255
-
256
-
257
-
258
-
259
-
260
-
261
- public function getDistinctData( $column_name )
262
-
263
- {
264
-
265
- $qty = count( $column_name );
266
-
267
- $sql = '';
268
-
269
- $sql .= 'SELECT DISTINCT ';
270
-
271
- for ( $cnt=0; $cnt<$qty; $cnt++ )
272
-
273
- {
274
-
275
- echo $cnt . "\n";
276
-
277
- $sql .= ($cnt === 0) ? ' ? ' : ', ? ';
278
-
279
- }
280
-
281
- $sql .= 'FROM ? ';
282
-
283
-
284
-
285
- try
286
-
287
- {
288
-
289
- $bind = $column_name;
290
-
291
- $cnt = array_push( $bind , $this->TABLE_NAME );
292
-
293
- print_r( $bind );
294
-
295
- print( $sql . "\n" );
296
-
297
- $stmt = $this->dbh->getData( $sql , $bind );
298
-
299
- }
300
-
301
- catch( Exception $e )
302
-
303
- {
304
-
305
- $stmt = NULL;
306
-
307
- }
308
-
309
- print_r( $stmt );
310
-
311
- return $stmt;
312
-
313
- }
314
-
315
-
316
-
317
-
318
-
319
-
320
-
321
- }
322
-
323
325
 
324
326
 
325
327
  ###試したこと
@@ -335,3 +337,11 @@
335
337
  PHP5.6,PDOでの開発で、
336
338
 
337
339
  環境はCentOS7,Apache2.4.6,MariaDB5.5.47です。
340
+
341
+
342
+
343
+ メインの1行目
344
+
345
+ $stmt = $this->tradingsMapper->getDistinctData( array( 'deal_day' ) );
346
+
347
+ でステートメントにSELECT結果が取得されません。