$insert = $dbh->prepare('INSERT INTO tags (tag_name) VALUES (:tag)');
$insert->bindParam(':tag', $tag, PDO::PARAM_STR);
foreach($tags as $tag) {
$insert->execute();
$tag_id = $dbh->lastInsertID();
echo $tag_id."+".$photo_id."<br />";
$sql = "INSERT INTO tagrefs (tag_id, photo_id) VALUES (:tag_id,:photo_id)";
$q = $dbh->prepare($sql);
$q->execute(array(':tag_id'=>$tag_id,
':photo_id'=>$photo_id));
}
この特定のコードは、アップロードされた写真に関連するタグを「tags」というテーブルに挿入します。「tagrefs」というテーブルで、tag_id を photo_id にリンクします。タグを 2 回使用するまで、これはすべて正常に機能します。何も挿入されていないため、これは論理的です (タグは一意です。「tagrefs」のエントリに、次の写真の photo_id と既存の tag_id をリストするだけです)。
ユーザーが入力したタグをコードで比較して比較したり、既存のタグの値が返されて「tagrefs」に適切に配置されるようにするにはどうすればよいですか? どうぞよろしくお願いいたします。