回答編集履歴

5

見直し

2020/03/16 07:49

投稿

退会済みユーザー
test CHANGED
@@ -47,3 +47,9 @@
47
47
 
48
48
 
49
49
  > この関数が成功した場合の返り値は、取得形式によって異なります。 失敗した場合は常に FALSE を返します。
50
+
51
+
52
+
53
+ それと、fetch()するまえに、
54
+
55
+ fetch()結果が入る`$rec`を参照しているのもおかしい。

4

見直し

2020/03/16 07:49

投稿

退会済みユーザー
test CHANGED
@@ -26,9 +26,15 @@
26
26
 
27
27
  まず書いちゃダメ。
28
28
 
29
+ break;の条件に至らないと無限ループとして処理が終わらず、
30
+
31
+ 実行時間の時間切れで強制終了になるだけだし。
32
+
33
+ せめて
34
+
29
35
  `while ($rec = $stmt->fetch(PDO::FETCH_ASSOC)) {`
30
36
 
31
- などするならわるけど
37
+ とかにしませんか
32
38
 
33
39
 
34
40
 

3

見直し

2020/03/16 06:29

投稿

退会済みユーザー
test CHANGED
@@ -29,3 +29,15 @@
29
29
  `while ($rec = $stmt->fetch(PDO::FETCH_ASSOC)) {`
30
30
 
31
31
  などとするならわかるけど。
32
+
33
+
34
+
35
+ [PHP: PDOStatement::fetch - Manual](https://www.php.net/manual/ja/pdostatement.fetch.php#refsect1-pdostatement.fetch-examples)
36
+
37
+
38
+
39
+ > 返り値
40
+
41
+
42
+
43
+ > この関数が成功した場合の返り値は、取得形式によって異なります。 失敗した場合は常に FALSE を返します。

2

見直し

2020/03/16 06:27

投稿

退会済みユーザー
test CHANGED
@@ -17,3 +17,15 @@
17
17
  データの取得や表示が終わっていないのに
18
18
 
19
19
  `$dbh=null;`をやる意味もわからない。
20
+
21
+
22
+
23
+ `while(true)`なんて、
24
+
25
+ ブロック内でbreak;を書いているとはいえ
26
+
27
+ まず書いちゃダメ。
28
+
29
+ `while ($rec = $stmt->fetch(PDO::FETCH_ASSOC)) {`
30
+
31
+ などとするならわかるけど。

1

見直し

2020/03/16 06:23

投稿

退会済みユーザー
test CHANGED
@@ -11,3 +11,9 @@
11
11
  $sql='SELECT code,name FROM mst_staff;';
12
12
 
13
13
  ```
14
+
15
+
16
+
17
+ データの取得や表示が終わっていないのに
18
+
19
+ `$dbh=null;`をやる意味もわからない。