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

回答編集履歴

2

加筆修正

2019/05/27 13:07

投稿

退会済みユーザー
answer CHANGED
@@ -35,4 +35,12 @@
35
35
  にして、$year,$month,$dayをもとに合成した日付の文字列を与えたほうがいいよ。
36
36
 
37
37
 
38
- とりあえず気づいた点として以上。
38
+ とりあえず気づいた点として以上。
39
+
40
+ ---
41
+
42
+ 老婆心ながら、
43
+ 日付や時刻はデータベースのDATE型TIME型TIMESTAMP型を活用したほうが良いです。
44
+ (phpではDateTimeやDateTimeIntervalなどのクラス群があります。)
45
+ 日付に例えば日数を足したり引いたりするのをクエリー上でラクに扱えます。
46
+ 日付を文字列のまま格納するのはナンセンス。

1

bindValue訂正

2019/05/27 13:07

投稿

退会済みユーザー
answer CHANGED
@@ -22,9 +22,9 @@
22
22
  そういうのを避けるためにも
23
23
  ```php
24
24
  $stmt=$dbh->prepare($sql);
25
- $stmt->bindValue('?', $year, PDO::PARAM_STR);
25
+ $stmt->bindValue(1, $year, PDO::PARAM_STR);
26
- $stmt->bindValue('?', $month, PDO::PARAM_STR);
26
+ $stmt->bindValue(2, $month, PDO::PARAM_STR);
27
- $stmt->bindValue('?', $day, PDO::PARAM_STR);
27
+ $stmt->bindValue(3, $day, PDO::PARAM_STR);
28
28
  $stmt->execute();
29
29
  ```
30
30
  としてみるか、