Как получить запись по id и вставить в уже существующий запрос?
У меня есть в бд таблица category и есть запрос который получает id категории и вставляет запись в таблицу freeroll. Как изменить запрос что бы когда я получаю category_id бралась запись по этому id из таблицы category и значения которые я получаю а это: category_name category_img и category_url так же добавлялись в таблицу.?
Сам запрос
<?php
require_once __DIR__.'/boot.php';
// убеждаемся, что пост-параметр category_id существует, он массив, и в нем есть элементы
if(isset($_POST['category_id']) && is_array($_POST['category_id']) && count($_POST['category_id']) > 0 || isset($_POST['symbol']) && is_array($_POST['symbol']) && count($_POST['symbol']) > 0 || isset($_POST['buyin_symbol']) && is_array($_POST['buyin_symbol']) && count($_POST['buyin_symbol']) > 0)
{
foreach($_POST['category_id'] as $category_id)
{
// вставляем категории в промежуточную таблицу для хранения выбранных категорий
$stmt = pdo()->prepare("INSERT INTO `freeroll` (`name_turnament`, `prize`, `password`, `data`, `time`, `category_id`, `prize_symbol`, `buyin` , `buyin_symbol`) VALUES (:name_turnament, :prize, :password, :data, :time, :category_id, :prize_symbol, :buyin, :buyin_symbol)");
$stmt->execute([
'name_turnament' => $_POST['name_turnament'],
'prize' => $_POST['prize'],
'password' => $_POST['password'],
'data' => $_POST['data'],
'time' => $_POST['time'],
'category_id' => $category_id,
'prize_symbol' => $_POST['symbol'],
'buyin' => $_POST['buyin'],
'buyin_symbol' => $_POST['buyin_symbol'],
]);
}
pdo('commit'); // все категории вставили, консистентность данных достигнута, можно фиксировать транзакцию
}
else
{
pdo('rollback'); //нет выделенных категорий, если они обязательны, то нужно откатить вставку записи в таблицу faucets. Если нет, то else нужно не использовать
// генерируем сообщение об ошибке, если нужно
}
header('Location: addfreerolls');