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

回答編集履歴

2

見直し

2019/02/21 03:12

投稿

退会済みユーザー
answer CHANGED
@@ -18,4 +18,15 @@
18
18
  それと Undefined variable: $stmtについてですが、
19
19
  $dbの定義あたりとかprepare()してるあたりで例外が発生すれば起こりうるだろうと推察されます。
20
20
  データベースへのPDO接続に失敗している可能性を調べましょう。
21
- mysqlが立ち上がっているか、tennisuserが登録済みなのか、など。
21
+ mysqlが立ち上がっているか、tennisuserが登録済みなのか、など。
22
+
23
+ ---
24
+
25
+ テーブル構造が意図したものになってないので、
26
+ 一度テーブルを削除(drop table)して、
27
+ create table文で作り直したほうがいい。
28
+ bodyをdatetime型じゃなく文字列に適した型にしつつ、
29
+ dateってカラムも追加するということで。
30
+ もしかしてphpmyadmin上で手でコツコツ作ったのかもしれませんが、
31
+ SQLファイルを作ってテーブルの作成ができるようになっておくと、
32
+ 本番環境への反映とかしやすくなりますので是非習得してください。

1

見直し

2019/02/21 03:12

投稿

退会済みユーザー
answer CHANGED
@@ -1,4 +1,21 @@
1
1
  bindParam警察が来るねw
2
2
  bindValue()を使うべきだし、
3
3
  `$stmt`がbool値、つまるFALSEが入っていたりする、つまり`$db->prepare()`が失敗している可能性、
4
- そもそも`$db`についてもどうなのかとか。
4
+ そもそも`$db`についてもどうなのかとか。
5
+
6
+ ---
7
+
8
+ 質問内容が改定されたので、回答も変わります。
9
+
10
+ テーブルのカラムにdateという名称を使うのは避けるべきです。
11
+ DATE型というものがデータベース上にあるため、
12
+ カラム名に指定する際SQL文では(バッククォート記号で)エスケープしないといけないのと、
13
+ dateってそもそもなんの日付なのかって話もあります。
14
+ 例えば本人の趣味にもよりますが
15
+ create_atやpost_at、あるいはcreate_dateやpost_dateなど
16
+ 後で見て混乱なくわかりやすいカラム名を選択するべきです。
17
+
18
+ それと Undefined variable: $stmtについてですが、
19
+ $dbの定義あたりとかprepare()してるあたりで例外が発生すれば起こりうるだろうと推察されます。
20
+ データベースへのPDO接続に失敗している可能性を調べましょう。
21
+ mysqlが立ち上がっているか、tennisuserが登録済みなのか、など。