Выполнить данную проще, упростить, улучшить
Есть массив, который собираю в цикле, предположим собрали
$insert = ["('текст')", "('текст1')"];
Далее, для того чтобы записать в бд и не создавать дубликат. Выполняю следующий запрос
INSERT IGNORE INTO `tag` (`title`) VALUES ".implode(',', $insert)
Ок, далее необходимо получить все id что записали и тех, что уже есть в бд. Для этого, опять же в том же цикле что собрали первый массив, собираем еще один, на выходе получаем
$select = ["текст", "текст1"];
Далее выполняю запрос и в цикле перебраю
select id from `tag` where title in('".implode("','", $select)."')
while($r = $db->get_row())
$id[] = $r['id'];
В результате, записал недостающие теги и получил массив id
всех тегов которые прописал пользователь.
Вопрос в том, возможно ли данную процедуру делать иначе. Проще, меньше кода, вместо одного массива к примеру. Оперировать одним?
Источник: Stack Overflow на русском