Я пытаюсь поставить некоторые данные формы в двух таблиц базы данных, используя следующую логикуНесколько запросов к базе данных нанизанные
INSERT
новых наблюдения для'watchlists'
столаSELECT watchlist_id
нового списка из'watchlists'
таблицыWHERE watchlist_name = $watchlist_name
(имени из новых списков наблюдения только что созданных) иuser_id = $user_id
INSERT watchlist_id
(выбирается из предыдущего запроса) Иfilm_id
в'watchlist_films'
стол
Я использую следующий код, но процесс, кажется, прерывается при выполнении запроса SELECT
. Новый список наблюдения создан в базе данных отлично, но он не будет выбирать идентификатор нового списка просмотра или запускать окончательный раздел кода.
if ($db_server) {
// Add new Watchlisth
if (!empty($watchlist_name)) {
$watchlist_name = clean_string($watchlist_name);
$watchlist_description = clean_string($watchlist_description);
mysql_select_db($db_database);
// Create new Watchlist
$insert_new_watchlist = "INSERT INTO watchlists (user_id, name, description, category) VALUES ('$user_id', '$watchlist_name', '$watchlist_description', '$watchlist_category')";
mysql_query($insert_new_watchlist) or die("Insert failed. " . mysql_error() . "<br />" . $insert_new_watchlist);
// Select new Watchlist's ID
$select_new_watchlist_query = "SELECT watchlist_id FROM watchlists WHERE name = " . $watchlist_name;
$new_watchlist_id = mysql_query($select_new_watchlist_query);
// Insert film into new Watchlist
$add_new_film = "INSERT INTO watchlist_films (watchlist_id, film_id) VALUES ('$new_watchlist_id', '$rt_id')";
mysql_query($add_new_film) or die("Insert failed. " . mysql_error() . "<br />" . $add_new_film);
$addWatchlist_good_message = '<div class="alert alert-success">Watchlist created successfully, and film added!</div>';?>
<script>
$('a.add-watchlist').trigger('click');
</script><?php
}
} else {
$addWatchlist_bad_message = '<div class="alert alert-error">Error: could not connect to the database.</div.';?>
<script>
$('a.add-watchlist').trigger('click');
</script><?php
}
require_once("db_close.php");
}
Я выполнить запрос в PhpMyAdmin, используя следующую строку: SELECT watchlist_id FROM watchlists where name = "LotR"
(где LotR это имя вновь созданного списка), и что прекрасно работает, поскольку она возвращает меня идентификатор WatchList, который является то, что Я хочу перейти во второй из двух запросов INSERT
.
Не используйте синтаксис mysql_query, это устаревшее, и использовать подготовленные заявления (Вы просите нас ввести код в вашу базу данных). Я рекомендую использовать PDO. В моем профиле можно найти много рабочих примеров, которые помогут решить вашу проблему в течение 10 минут. Или просто Google. – Jonast92