teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2019/04/05 03:11

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -9,7 +9,7 @@
9
9
  //略
10
10
  }
11
11
  ```
12
- ※デバッグのために入れたのはvar_dump()使っていることからわかりますが、質問提示の際にはコメントアウトしておきましょう。でないと回答者としてはそこも突っ込まなければならなくなります
12
+ ※デバッグのために入れたのはvar_dump()使っていることからわかりますが、質問提示の際にはコメントアウトしておきましょう。でないと回答者としてはそこも突っ込まなければならなくなります
13
13
 
14
14
  あとは既に回答が出ているように、bindValue()でセットしている値を実際にSQLにセットしたSQLを作り、
15
15
  PHPからではなくMySQLならMySQLに対して直接SQLを実行し、想定しているデータがとれるかを確認してください。
@@ -19,7 +19,7 @@
19
19
 
20
20
  -----------
21
21
 
22
- また、HTML表示が前提なら、fetchをwhileで回すのではなくて、そもそもfetchall()PDO::FETCH_ASSOCオプションつけて取得してきてforeachなりforなりで回すほうが良いです。
22
+ また、HTML表示が前提なら、whileでfetch()しつつ回すのではなくて、そもそもfetchAll()PDO::FETCH_ASSOCオプションつけて取得してきてforeachなりforなりで回すほうが良いです。
23
23
 
24
24
  - [PHPでデータベースに接続するときのまとめ#PDOStatement::fetch](https://qiita.com/mpyw/items/b00b72c5c95aac573b71#pdostatementfetch)
25
25
  > HTML表示のために変数を準備する場合には,多くは配列として持っておく方が都合がいいので,後に紹介する PDOStatement::fetchAll メソッドの使用を検討してください.

1

修正

2019/04/05 03:10

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,4 +1,4 @@
1
- PDOStatement::fetch()](https://www.php.net/manual/ja/pdostatement.fetch.php)は`結果セットから次の行を取得する`もの。
1
+ [PDOStatement::fetch()](https://www.php.net/manual/ja/pdostatement.fetch.php)は`結果セットから次の行を取得する`もの。
2
2
  もし「データがきちんと取れているか」確認したいのであればデバッグとしては「全データ想定したものか」確認すべきなので[PDOStatement::fetchAll()](https://www.php.net/manual/ja/pdostatement.fetchall.php)使ってください。
3
3
 
4
4
  でないと、下記のように書かれているので、whileでは2件目から取得し始めているはずです。