回答編集履歴
3
修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
プレースホルダが合致してないっぽい?だとすると、$params['created_at']には、なまじ不要なダブルクォートで囲っているために、空白もしくは警告文の値
|
1
|
+
プレースホルダが合致してないっぽい?だとすると、$params['created_at']には、なまじ不要なダブルクォートで囲っているために、空白もしくは警告文の値が(undefined...とか)が入ってしまう可能性があるので、string型はアカンよって怒ってるのも合点がいきます。
|
2
2
|
|
3
3
|
|
4
4
|
|
2
ダブルクオート不要
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
プレースホルダが合致してないっぽい?だとすると、$params['created_at']には空白もしくは警告文の値しか入って
|
1
|
+
プレースホルダが合致してないっぽい?だとすると、$params['created_at']には、なまじ不要なダブルクォートで囲っているために、空白もしくは警告文の値しか入ってしまうので、string型はアカンよって怒ってるのもわかるので。
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
-
created_atをプレースホルダに対応するようにすればどうでしょう。
|
19
|
+
created_atをプレースホルダに対応するようにすればどうでしょうか。
|
20
20
|
|
21
21
|
```PHP
|
22
22
|
|
@@ -25,3 +25,15 @@
|
|
25
25
|
$params = array(":a" => "$a", ":b" => "$b", ":created_at"=>"$created_at");
|
26
26
|
|
27
27
|
```
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
あと、ダブルクォートはあえて使う必要ないですね。
|
32
|
+
|
33
|
+
```PHP
|
34
|
+
|
35
|
+
$sql = "INSERT INTO test (a, b, created_at) VALUES (:a, :b, :created_at)";
|
36
|
+
|
37
|
+
$params = array(":a" => $a, ":b" => $b, ":created_at"=>$created_at);
|
38
|
+
|
39
|
+
```
|
1
var_dump
test
CHANGED
@@ -1,4 +1,8 @@
|
|
1
|
-
プレースホルダが合致してないっぽい?だとすると、$params['created_at']には空白の値しか入ってないので、string型はアカンよって怒ってるのもわかる
|
1
|
+
プレースホルダが合致してないっぽい?だとすると、$params['created_at']には空白もしくは警告文の値しか入ってないので、string型はアカンよって怒ってるのもわかるので。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
`var_dump($params)`で確認してみるのが一番でしょうね。
|
2
6
|
|
3
7
|
|
4
8
|
|