回答編集履歴
2
edit
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
sanitize()が何やってるのか分かりませんが(DB問い合わせ時は不要かと思います)
|
2
|
-
[PDOStatement::fetch](https://www.php.net/manual/ja/pdostatement.fetch.php)は`失敗した場合は常に FALSE を返します。 `ので、「データが取得できたかどうか」を事前に検証すべきかと思います。
|
2
|
+
[PDOStatement::fetch](https://www.php.net/manual/ja/pdostatement.fetch.php)は`失敗した場合は常に FALSE を返します。 `ので、返却値を直接参照する前に「データが取得できたかどうか」を事前に検証すべきかと思います。
|
3
3
|
|
4
4
|
例:
|
5
5
|
```php
|
@@ -8,6 +8,8 @@
|
|
8
8
|
if($rec){
|
9
9
|
$member_mail=$rec['member_mail'];
|
10
10
|
//後略
|
11
|
+
|
12
|
+
|
11
13
|
}
|
12
14
|
|
13
15
|
```
|
1
edit
answer
CHANGED
@@ -7,9 +7,11 @@
|
|
7
7
|
|
8
8
|
if($rec){
|
9
9
|
$member_mail=$rec['member_mail'];
|
10
|
+
//後略
|
10
11
|
}
|
11
12
|
|
12
13
|
```
|
13
14
|
|
14
15
|
SQLはcount()でとらない限り、何も返ってこないので(nullとかはあるでしょうけど)
|
15
|
-
`'member_mail'`を参照しようにもデータがとれてないので、できません。
|
16
|
+
`'member_mail'`を参照しようにもデータがとれてないので、できません。
|
17
|
+
「バリデーション」という観点なら`SELECT count(member_mail) as cnt FROM …`などとした上でその結果を検証したほうが明示的かと思います。
|