INSERT SELECT с добавленной ценностью
<form method="POST">
<input type="submit" name="submit" value="submit" />
<?php
if (isset($_POST['submit']))
{
include '_includes/db.php';
mysql_query("INSERT INTO `en_stud` (en_subj, en_desc, en_code)
SELECT subj_code, subj_name, subj_deg FROM `subjects` WHERE subj_deg='PREP'");
}
?>
</form>
Привет, хорошо, поэтому я использовал INSERT SELECT для этого, чтобы вставить все обычные предметы для подготовки в базу данных, но что, если я хотел бы что-то добавить. подобно
Добавление
Поле ввода и другое значение, разделенное на команду выбора таблицы, как я смогу добавить ее туда?
<form method="POST">
<input type="text" name="f" value="1"
<input type="submit" name="submit" value="submit" />
<?php
if (isset($_POST['submit']))
{
include '_includes/db.php';
$f = "$_POST['f']";
mysql_query("INSERT INTO `en_stud` (en_fname, en_subj, en_desc, en_code)
SELECT subj_code, subj_name, subj_deg FROM `subjects` WHERE subj_deg='PREP'");
}
?>
</form>
Как вы можете видеть, "en_fname" не имеет соответствующих значений, есть ли у него соответствующий код, чтобы он работал?
<?php
if (isset($_POST['submit']))
{
include '_includes/db.php';
$f = "$_POST['f']";
mysql_query("INSERT INTO `en_stud` (en_fname, en_subj, en_desc, en_code) VALUES ('$f')
SELECT subj_code, subj_name, subj_deg FROM `subjects` WHERE subj_deg='PREP'");
}
?>
</form>
1 ответ
Решение
Попробуй с
mysql_query("INSERT INTO `en_stud` (en_fname, en_subj, en_desc, en_code)
SELECT '$f', subj_code, subj_name, subj_deg FROM `subjects` WHERE subj_deg='PREP'");
В основном вы должны поместить все значения в SELECT
список. Поэтому вместо того, чтобы пытаться объединить собственные значения с выбранными значениями, просто добавьте дополнительные значения в список выбора. Они постоянны, так что это как
Select 1,2,'three', some_field FROM some_table