質問編集履歴
3
コメントを加筆
test
CHANGED
File without changes
|
test
CHANGED
@@ -98,7 +98,7 @@
|
|
98
98
|
// $fruits_id を得る
|
99
99
|
if ( $count === 1 ) {
|
100
100
|
|
101
|
-
$fruits_id = $dbh->lastInsertId();
|
101
|
+
$fruits_id = $dbh->lastInsertId(); // 挿入されたIDを得る
|
102
102
|
|
103
103
|
} else {
|
104
104
|
|
@@ -107,7 +107,7 @@
|
|
107
107
|
FROM my_fruit
|
108
108
|
WHERE fruits_name = '$fruits_name'
|
109
109
|
";);
|
110
|
-
$fruits_id = $sth[0]['ID'];
|
110
|
+
$fruits_id = $sth[0]['ID']; // 既存のIDを得る
|
111
111
|
|
112
112
|
}
|
113
113
|
|
@@ -135,6 +135,7 @@
|
|
135
135
|
/*
|
136
136
|
このときは「フルーツとタグの同じ組み合わせはない」という制限によって
|
137
137
|
「なければINSERT」を達成できる
|
138
|
+
(あればエラーになってINSERTされない)
|
138
139
|
*/
|
139
140
|
$dbh->query("
|
140
141
|
INSERT INTO my_tag_holders (`fruits_ID`,`tags_ID`)
|
2
my_tagsのinsert文を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -124,10 +124,10 @@
|
|
124
124
|
$fruits_id = $dbh->lastInsertId();
|
125
125
|
|
126
126
|
// my_tags を INSERT して、$tag_id を得る
|
127
|
-
$
|
127
|
+
$tag_name = $tag_name_arr[0]; // コードが煩雑になるのでとりあえず1つだけ
|
128
128
|
$dbh->query("
|
129
129
|
INSERT INTO my_tags (`tag_name`)
|
130
|
-
VALUES {$
|
130
|
+
VALUES {'$tag_name'}
|
131
131
|
";);
|
132
132
|
$tag_id = $dbh->lastInsertId();
|
133
133
|
|
1
my_tagsのinsert文を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -27,7 +27,7 @@
|
|
27
27
|
-- タグテーブル
|
28
28
|
CREATE TABLE my_tags (
|
29
29
|
`ID` int AUTO_INCREMENT,
|
30
|
-
`tag_kind_id` int,
|
30
|
+
`tag_kind_id` int default 1,
|
31
31
|
`tag_name` varchar(100),
|
32
32
|
PRIMARY KEY(`ID`),
|
33
33
|
UNIQUE u_my_tags_01 (`tag_kind_id`, `tag_name`));
|
@@ -124,9 +124,10 @@
|
|
124
124
|
$fruits_id = $dbh->lastInsertId();
|
125
125
|
|
126
126
|
// my_tags を INSERT して、$tag_id を得る
|
127
|
+
$values = implode(',', array_map( function($tag_name){ return "('$tag_name')"; }, $tag_name_arr ) );
|
127
128
|
$dbh->query("
|
128
129
|
INSERT INTO my_tags (`tag_name`)
|
129
|
-
VALUES
|
130
|
+
VALUES {$values}
|
130
131
|
";);
|
131
132
|
$tag_id = $dbh->lastInsertId();
|
132
133
|
|