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

回答編集履歴

2

見直し

2021/07/07 08:33

投稿

退会済みユーザー
answer CHANGED
@@ -1,11 +1,14 @@
1
1
  No1と2と3で変数名の使い回しがあるため、
2
2
  初期化漏れがあるとちょっと怖い。
3
- is_uploaded_file()やmove_uploadfile()のelse条件の処理が雑なので、
3
+ **is_uploaded_file()やmove_uploadfile()のelse条件の処理が雑**なので、
4
4
  直後のINSERT INTO文を実行しちゃってるね、きっと。
5
5
  1だけ指定して2や3がカラのとき、
6
6
  使いまわししている変数に1のときの処理結果が残っちゃっているから、
7
7
  それを元にINSERT INTO文が実行されているのだと思う。
8
8
 
9
+ is_uploaded_file()やmove_uploadfile()で条件が成立していないとき、
10
+ どういうINSERT INTO文がいいのかをもう一度考えて実装を見直してみては。
11
+
9
12
  1と2と3で処理内容がまるで同じなのであれば、
10
13
  いっそ共通関数にでもして外部からfor()ループなどで叩いたほうがまともになりそう。
11
14
  ユーザー定義関数内の変数で処理が完結するなら1と2と3の混在も避けられるし。

1

見直し

2021/07/07 08:33

投稿

退会済みユーザー
answer CHANGED
@@ -1,5 +1,10 @@
1
1
  No1と2と3で変数名の使い回しがあるため、
2
2
  初期化漏れがあるとちょっと怖い。
3
+ is_uploaded_file()やmove_uploadfile()のelse条件の処理が雑なので、
4
+ 直後のINSERT INTO文を実行しちゃってるね、きっと。
5
+ 1だけ指定して2や3がカラのとき、
6
+ 使いまわししている変数に1のときの処理結果が残っちゃっているから、
7
+ それを元にINSERT INTO文が実行されているのだと思う。
3
8
 
4
9
  1と2と3で処理内容がまるで同じなのであれば、
5
10
  いっそ共通関数にでもして外部からfor()ループなどで叩いたほうがまともになりそう。