[英]Two tables for one php/MySQL form with a common field?
我的表格有学生证,电子邮件和姓名...以及复选框
我设法在表格中存储了Studentid和复选框,并创建了一个新表格来存储与学生ID相关的所有其他信息
表1 Studentid -----复选框选择...
表2学生ID -----电子邮件----名称
我必须在查询中插入一个,一个用于Studentid和复选框,一个用于(Table2)
$sql="INSERT INTO courses (studentid, ckb)
VALUES ('$studentid', '$cc')";
$sql2="INSERT INTO studentinfo (studentid, email, name)
VALUES ('$studentid', '$email', $fname)";
$ sql2无法存储数据,但是$ sql存储数据很好,我该如何解决?
这是完整的代码
$studentid = mysqli_real_escape_string($dbcon, $_GET['studentid']); //echo $studentid;
$email = $dbcon->real_escape_string($_GET['email']);
$fname = $dbcon->real_escape_string($_GET['fname']);
$name = $_GET['ckb'];
if(isset($_GET['ckb'])) //checkboxes
{
foreach ($name as $courcess){
$cc=$cc. $courcess.',';
}
}
$sql="INSERT INTO courses (studentid, ckb)
VALUES ('$studentid', '$cc')";
$sql2="INSERT INTO studentinfo (studentid, email, name)
VALUES ('$studentid', '$email', $fname)";
if (!mysqli_query($dbcon,$sql)) {
die('Error: ' . mysqli_error($dbcon));
}
echo " Thank you for using IME Virtual Registeration ";
mysqli_close($dbcon);
?>
我的表单方法是GET
我建议您使用prepare语句和transaction代替mysqli query。
您忘记了带有第二个查询的mysqli_query:
$sql="INSERT INTO courses (studentid, ckb)
VALUES ('{$studentid}', '{$cc}')";
$sql2="INSERT INTO studentinfo (studentid, email, name)
VALUES ('{$studentid}', '{$email}', '{$fname}')";
if (!mysqli_query($dbcon,$sql)) {
die('Error: ' . mysqli_error($dbcon));
}
if (!mysqli_query($dbcon,$sql2)) {
die('Error: ' . mysqli_error($dbcon));
}
echo " Thank you for using IME Virtual Registeration ";
mysqli_close($dbcon);
?>
这是带有prepare语句的示例,您不需要使用real_escape_string“
$stmt = $mysqli->prepare("INSERT INTO courses VALUES (?, ?)");
$stmt->bind_param('ds', $studentid, $cc);
$stmt->execute();
$stmt = $mysqli->prepare("INSERT INTO studentinfo VALUES (?, ?, ?)");
$stmt->bind_param('dss', $studentid, $email, $fname);
$stmt->execute();
请尝试这个
if (!mysqli_query($dbcon,$sql)) { die('Error: ' . mysqli_error($dbcon)); } else { if (!mysqli_query($dbcon,$sql2)) { die('Error: ' . mysqli_error($dbcon)); } else { echo " Thank you for using IME Virtual Registeration "; } } mysqli_close($dbcon);
if (!mysqli_query($dbcon,$sql))
{
die('Error: ' . mysqli_error($dbcon));
}
else
{
if (!mysqli_query($dbcon,$sql2)) {
die('Error: ' . mysqli_error($dbcon));
}
}
Hope it will help.....
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.