回答編集履歴

2

edit

2020/11/28 08:50

投稿

m.ts10806
m.ts10806

スコア80852

test CHANGED
@@ -1,6 +1,6 @@
1
1
  sanitize()が何やってるのか分かりませんが(DB問い合わせ時は不要かと思います)
2
2
 
3
- [PDOStatement::fetch](https://www.php.net/manual/ja/pdostatement.fetch.php)は`失敗した場合は常に FALSE を返します。 `ので、「データが取得できたかどうか」を事前に検証すべきかと思います。
3
+ [PDOStatement::fetch](https://www.php.net/manual/ja/pdostatement.fetch.php)は`失敗した場合は常に FALSE を返します。 `ので、返却値を直接参照する前に「データが取得できたかどうか」を事前に検証すべきかと思います。
4
4
 
5
5
 
6
6
 
@@ -18,6 +18,10 @@
18
18
 
19
19
  //後略
20
20
 
21
+
22
+
23
+
24
+
21
25
  }
22
26
 
23
27
 

1

edit

2020/11/28 08:50

投稿

m.ts10806
m.ts10806

スコア80852

test CHANGED
@@ -16,6 +16,8 @@
16
16
 
17
17
  $member_mail=$rec['member_mail'];
18
18
 
19
+ //後略
20
+
19
21
  }
20
22
 
21
23
 
@@ -27,3 +29,5 @@
27
29
  SQLはcount()でとらない限り、何も返ってこないので(nullとかはあるでしょうけど)
28
30
 
29
31
  `'member_mail'`を参照しようにもデータがとれてないので、できません。
32
+
33
+ 「バリデーション」という観点なら`SELECT count(member_mail) as cnt FROM …`などとした上でその結果を検証したほうが明示的かと思います。