回答編集履歴

1

修正

2019/02/12 05:36

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -66,7 +66,7 @@
66
66
 
67
67
  $stmt->execute($data);
68
68
 
69
- return $stmt->fetch(PDO::FETCH_ASSOC);
69
+ return $stmt->fetch(PDO::FETCH_ASSOC);//PDO::FETCH_ASSOCしかしないのであれば毎回書くのではなくそれだけで1つ関数作ってreturn $stmt->fetch(PDO::FETCH_ASSOC);するだけの関数作るのもあり。
70
70
 
71
71
  }
72
72
 
@@ -84,7 +84,7 @@
84
84
 
85
85
  $stmt = $this->dbh->prepare($sql);
86
86
 
87
- $stmt->execute($data);
87
+ $stmt->execute($data); //何も返さないのはNG。insertは確か成功したかどうかが返るはずなので何かしら返したほうがいいし「確実に成功する」前提での作りは良くないのでこちらもtry-catchで囲ってしっかりExceptionを捕捉すべき
88
88
 
89
89
  }
90
90
 
@@ -102,11 +102,23 @@
102
102
 
103
103
  $stmt->execute($data);
104
104
 
105
- $result = $like_stmt->fetch(PDO::FETCH_ASSOC);
105
+ $result = $stmt->fetch(PDO::FETCH_ASSOC); //元のコード、変数名間違えてますよ。修正しました。
106
106
 
107
107
  return $result['like_cnt'];
108
108
 
109
109
  }
110
+
111
+ /*
112
+
113
+ SQL作る→$dataに?の分の変数作る→preareする→executeに$data渡して実行
114
+
115
+ まで同じならここも「executeするまでの処理」を共通化したものを作ったほうがスッキリすると思う。
116
+
117
+ 要は$sql作って、$dataを配列で渡せば良いので。
118
+
119
+ 同じ処理が2回3回以上でてくるようなら共通化を検討しましょう。
120
+
121
+ */
110
122
 
111
123
  }
112
124