回答編集履歴

1

エラー内容に関しても記載しておく

2020/06/30 14:30

投稿

rururu3
rururu3

スコア5545

test CHANGED
@@ -7,3 +7,55 @@
7
7
 
8
8
 
9
9
  (`isset`でチェックしてるから変数存在に関してエラーも出ない)
10
+
11
+
12
+
13
+ ---
14
+
15
+
16
+
17
+ 記載されているエラーになるのは多分
18
+
19
+
20
+
21
+ ```php
22
+
23
+ // ソース略
24
+
25
+ // $postでやってるためisset全てに当てはまらず$targetには何も入ってない
26
+
27
+
28
+
29
+  //foreachでsql文を作成
30
+
31
+ $s = [];
32
+
33
+ foreach ($target as $key => $values) {
34
+
35
+ $s[] = $target[$key] . " = :" . $target[$key];
36
+
37
+ }
38
+
39
+
40
+
41
+ // $target何も入ってないので$sはから配列
42
+
43
+
44
+
45
+ $s = implode(",", $s);
46
+
47
+
48
+
49
+ // $sは空文字が入る
50
+
51
+
52
+
53
+ $sql = "UPDATE owner_info SET " . $s . " WHERE owner_id = :owner_id"; //名前付きプレースホルダー
54
+
55
+ // $sが空文字なのでSQL文法エラーになる(UPDATE owner_info SET WHERE owner_id = :owner_idってなるため)
56
+
57
+
58
+
59
+ $prepare = $dbh->prepare($sql);
60
+
61
+ ```