回答編集履歴
2
修正
answer
CHANGED
|
@@ -5,4 +5,27 @@
|
|
|
5
5
|
|
|
6
6
|
ちなみに。
|
|
7
7
|
この手のエラーは**エラーメッセージにある行数ズバリよりもその直前の処理や処理結果**が原因で起きていることがよくあります。
|
|
8
|
-
var_dump()などを効果的に利用し、デバッグする癖をつけると解決が早まります。
|
|
8
|
+
var_dump()などを効果的に利用し、デバッグする癖をつけると解決が早まります。
|
|
9
|
+
|
|
10
|
+
----
|
|
11
|
+
|
|
12
|
+
補足資料:
|
|
13
|
+
[MySQLの予約語とキーワード](https://qiita.com/hmatsu47/items/a1da0e06f0597acd6502)
|
|
14
|
+
|
|
15
|
+
予約語にあがっているものはそもそもカラムには使えないと思って良いです。
|
|
16
|
+
[予約語っぽいけど例外的に認められているものもあります。](https://dev.mysql.com/doc/refman/5.6/ja/reserved-words.html)
|
|
17
|
+
> MySQL では、以前に多くの人々が使用していたので、一部のキーワードを引用符で囲まない識別子として使用することを許可しています。次の一覧に例を示します。
|
|
18
|
+
ACTION
|
|
19
|
+
BIT
|
|
20
|
+
DATE
|
|
21
|
+
ENUM
|
|
22
|
+
NO
|
|
23
|
+
TEXT
|
|
24
|
+
TIME
|
|
25
|
+
TIMESTAMP
|
|
26
|
+
|
|
27
|
+
ただ、「その名称だけで何のことかわかるか?」ということもありますし、
|
|
28
|
+
紛らわしいので``をつけるだけではなく、きちんと用途や意味が伝わる名前(m6uさんが挙げてくれてますね)にすることを強くすすめます。
|
|
29
|
+
|
|
30
|
+
もし、その名称によって壁にあたってしまっているのなら、非常に勿体無いです。
|
|
31
|
+
idとかもあるかもしれませんが、単に`id`ではなくそれは「何のidか」が分かるようにするのが良いです。
|
1
追記
answer
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
直前の$stmtをvar_dumpしてみては?
|
|
2
2
|
PDO::prepareの返り値がstatementではなくfalseの場合、bindParamどころではないわけですし。
|
|
3
3
|
その場合はPDO::prepareにセットしているSQLを見直す必要があります。
|
|
4
|
-
文法が合っているかとか存在しないカラム指定してないかとか。
|
|
4
|
+
文法が合っているかとか存在しないカラム指定してないかとか。
|
|
5
|
+
|
|
6
|
+
ちなみに。
|
|
7
|
+
この手のエラーは**エラーメッセージにある行数ズバリよりもその直前の処理や処理結果**が原因で起きていることがよくあります。
|
|
8
|
+
var_dump()などを効果的に利用し、デバッグする癖をつけると解決が早まります。
|