2012-02-15 117 views
1

我想记录一个用户输入值,同时从另一个表中复制单个数据。可能吗?多条插入语句

这里是我的代码:

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

在此先感谢和抱歉,我的基本问题。

+3

[SQL注入](HTTP ://en.wikipedia.org/wiki/Sql_injection)。了解它! – deceze 2012-02-15 09:36:16

回答

0

您可以在一个查询做到这一点,如果这就是你问什么,还记得逃脱字符串,以避免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

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

阅读:W3schools

+0

注意,w3schools的教程经常包含不好的做法。他们的PHP部分特别恐怖且充满安全漏洞。你应该忘记它们存在并找到更好的资源。 – Charles 2012-02-15 19:05:05