** Итак, у меня сейчас путаница, и у меня недостаточно знаний для php. У меня есть эти две таблицы, личная и старшая. мне нужно зависеть от чего-то: **
Моя личная таблица состоит из: ExamineeID FirstName MiddleName LastName Возраст ContactNumber
Моя старшая таблица состоит из: SeniorID LastSchoolAttended Strand SchoolAddress Advisor Honor1 Honor2 Honor3 Honor4 ExamineeID
Мне нужно, чтобы FirstName, MiddleName, LastName и LastSchoolAttended были ограничены 1. Это означает, что если FirstName, MiddleName, LastName и LastSchoolAttended существуют, он не будет записан. Мой внешний ключ - ExamineeID. Я пытаюсь кодировать, но я знаю, что мой код неверен.
$SELECTpersonal = "SELECT FirstName, MiddleName, LastName, LastSchoolAttended From personal, senior Where FirstName = ? And MiddleName = ? And LastName = ? And LastSchoolAttended = ? Limit 1";
$SELECTsenior = "SELECT LastSchoolAttended, Strand, SchoolAddress, Adviser, Honor1, Honor2, Honor3, Honor4 From senior Where LastSchoolAttended = ?, Strand = ? And SchoolAddress = ? And Adviser = ? And Honor1 = ? And Honor2 = ? And Honor3 = ? And Honor4 = ? Limit 0";
$INSERTpersonal = "INSERT Into personal (FirstName, MiddleName, LastName, Age, HomeAddress, ContactNumber, LastSchoolAttended) values (?,?,?,?,?,?,?)";
$INSERTsenior = "INSERT Into senior (LastSchoolAttended, Strand, SchoolAddress, Adviser, Honor1, Honor2, Honor3, Honor4) values (?,?,?,?,?,?,?,?)";
$stmt = $conn->prepare($SELECTpersonal);
$stmtsenior = $conn->prepare($SELECTsenior);
$stmt -> bind_param("ssss", $FirstName,$MiddleName,$LastName,$LastSchoolAttended);
$stmtsenior -> bind_param("sssssss", $Strand, $SchoolAddress,$Adviser,$Honor1,$Honor2,$Honor3,$Honor4);
$stmt -> execute();
$stmtsenior -> execute();
$stmt -> bind_result($FirstName,$MiddleName,$LastName,$LastSchoolAttended);
$stmtsenior -> bind_result($Strand, $SchoolAddress,$Adviser,$Honor1,$Honor2,$Honor3,$Honor4);
$stmt -> store_result();
$stmtsenior -> store_result();
$rnum = $stmt -> num_rows;
$rnumsenior = $stmtsenior -> num_rows;
if ($rnum == 0 ) {
$stmt->close();
$stmt = $conn -> prepare($INSERTpersonal);
$stmt -> bind_param("sssisis", $FirstName,$MiddleName,$LastName,$Age,$HomeAddress,$ContactNumber,$LastSchoolAttended);
$stmt -> execute();
}
else if ($rnumsenior = 0 ){
$stmtsenior->close();
$stmt = $conn -> prepare($INSERTsenior);
$stmt -> bind_param ("ssssssss",$LastSchoolAttended,$Strand, $SchoolAddress,$Adviser,$Honor1,$Honor2,$Honor3,$Honor4);
$stmtsenior -> execute();
}
Например, я вставил данные FirstName: Name1 MiddleName: MiddleName1 LastName: LastName1
и для LastSchoolAttended, полученного из 2-й таблицы: LastSchoolAttended: School1.
если я вставлю снова, с теми же данными, что и выше, они не будут записаны, потому что они уже существуют, и это является основой, если экзаменуемые сдавали экзамен или нет. Я не знаю, как соединить друг друга.