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

回答編集履歴

2

$valの間違い

2021/04/05 06:48

投稿

FKM
FKM

スコア3662

answer CHANGED
@@ -9,8 +9,8 @@
9
9
  $ary_value = [];
10
10
  foreach($Categorylist as $val){
11
11
  $ary_placeholder[] = " (?, ?)";
12
- $ary_value[] = $CategorySet[1]
13
- $ary_value[] = $CategorySet[2];
12
+ $ary_value[] = $val[0]; //第一引数
13
+ $ary_value[] = $val[1]; //第二引数
14
14
  }
15
15
 
16
16
  $bar_placeholder = implode(",",$ary_placeholder);

1

配列宣言

2021/04/05 06:47

投稿

FKM
FKM

スコア3662

answer CHANGED
@@ -5,6 +5,8 @@
5
5
  なので、foreachでひたすらSQL構文とプレースホルダに代入する値を生成して、ループの外側でinsertメソッドを実行したらいけるのではと思います。
6
6
 
7
7
  ```PHP
8
+ $ary_placeholder = [];
9
+ $ary_value = [];
8
10
  foreach($Categorylist as $val){
9
11
  $ary_placeholder[] = " (?, ?)";
10
12
  $ary_value[] = $CategorySet[1]
@@ -21,7 +23,7 @@
21
23
 
22
24
  要は
23
25
  ```
24
- insert("insert into hogehoge(?,?),(?,?),(?,?)",["A1","A2","B1","B2","C1","C2"])
26
+ insert("insert into hogehoge values(?,?),(?,?),(?,?)",["A1","A2","B1","B2","C1","C2"]);
25
27
  ```
26
28
 
27
29
  となるように組んでいくので、どっちが文字列に修正する必要があって、どっちが配列のままで制御するかを見極めれば簡単にSQLを作れると思います。