Оператор с несколькими вставками - PullRequest
1 голос
/ 15 февраля 2012

Я хочу записать введенное пользователем значение и одновременно скопировать отдельные данные из другой таблицы.это возможно?

вот мой код:

$sql="INSERT INTO grades (studentnumber,subjectcode)
VALUES
('$_POST[studentnumber]','$_POST[subjectcode]')";

$sql="INSERT INTO grades (course) SELECT course FROM students WHERE studentnumber= '$_POST[studentnumber]'";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "<script type='text/javascript'>alert('Record Successfully Added'); location.href = '../instructor/cvsu-sis_students.php';</script>";

заранее спасибо и извините за мой элементарный вопрос.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2012

Вы можете сделать это одним запросом, если это то, о чем вы спрашиваете, также не забудьте экранировать строки, чтобы избежать SQL-инъекций:

$P_studentnumber=mysql_real_escape_string($_POST['studentnumber']);
$P_subjectcode=mysql_real_escape_string($_POST['subjectcode']);

$sql="INSERT INTO grades (studentnumber,subjectcode,course) SELECT '$P_studentnumber','$P_subjectcode',course FROM students WHERE studentnumber='$P_studentnumber'";

if (!mysql_query($sql,$con))
{
   die('Error: ' . mysql_error());
}
echo "<script type='text/javascript'>alert('Record Successfully Added'); location.href = '../instructor/cvsu-sis_students.php';</script>";
0 голосов
/ 15 февраля 2012

Это возможно.Вы можете использовать оператор UNION для отправки нескольких процедур в одном запросе.

Читать это: W3schools

...