【问题标题】:Multiple Insert Statement多重插入语句
【发布时间】:2012-02-15 09:34:07
【问题描述】:

我想记录一个用户输入的值,同时从另一个表中复制一个数据。有可能吗?

这是我的代码:

$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>";

提前感谢我的基本问题。

【问题讨论】:

标签: php mysql database insert


【解决方案1】:

如果你要问的话,你可以在一个查询中完成,还记得转义字符串以避免 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>";

【讨论】:

    【解决方案2】:

    这是可能的。您可以使用UNION 运算符在一个查询中发送多个过程。

    阅读:W3schools

    【讨论】:

    • 当心,w3schools 的教程经常包含不良做法。他们的 PHP 部分尤其可怕,并且充满了安全漏洞。您应该忘记它们的存在并找到更好的资源。
    猜你喜欢
    • 2014-08-12
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    相关资源
    最近更新 更多