一个php/MySQL表单的两个表,带有一个公共字段


Two tables for one php/MySQL form with a common field?

我的表格有一个学生ID、电子邮件和姓名。。。和复选框

我设法将studentid和复选框存储在一个表中,并创建了一个新表来存储与studentid 相关的所有其他信息

表1学生-----支票簿选举。。。。

表2studentid-----电子邮件----姓名

我必须插入到查询中,一个用于studentid和复选框,另一个用于(表2)

$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语句和事务,而不是mysqli查询。

您忘记了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.....