У меня есть фиктивная база данных, касающаяся информации о студентах и предметах, которые они изучают.
Я хотел создать код, который позволил бы мне регистрировать новые темы и связывать два столбца с другими таблицами с помощью внешнего ключа. однако, это не работает, и я получаю сообщение об ошибке.
Я несколько раз проверил свое соединение, и оно работает. выбранный код работает непосредственно в MySQL верстаке. Ниже мой код и изображение базы данных.
Сообщения об ошибках, которые я получаю:
Неустранимая ошибка: Uncaught исключение 'mysqli_sql_exception' с сообщением 'Duplicate entry' 0'для ключа' PRIMARY '' в C: \ wamp \ www \ oveove.php в строке 159 (!) mysqli_sql_exception: дублирующаяся запись '0' для ключа 'PRIMARY' в C: \ wamp \ www \ oveove.php в строке 159
<form method="post">
<form method="post">
<input type="text" name="fagnavn" placeholder="skriv inn fagets navn">
<input type="text" name="type" value="skriv inn fagklassen">
<select name="lærer">
<?php
$sql="select * from lærer";
$resultat = $kobling->query($sql);
while ($rad = $resultat->fetch_assoc()) {
$lærerfnavn=$rad["fnavn"];
$lærerenavn=$rad["enavn"];
$idlærer= $rad["idlærer"];
$heltnavn = $lærerfnavn. " ". $lærerenavn;
echo "<option value='$idlærer'> $heltnavn </option>";
}
?>
</select>
<select name="studieret">
<?php
$sql= "select * from studieret";
$resultat= $kobling->query($sql);
while ($rad= $resultat->fetch_assoc()) {
$leder= $rad["leder"];
$id=$rad["idstudieretning"];
echo "<option value='$id'> $leder </option>";
}
?>
</select>
<input type="submit" name="sendinn2" value="Send inn">
</form>
<?php
if (isset($_POST["sendinn2"])) {
$fag= $_POST["fagnavn"];
$type= $_POST["type"];
$lærer=$_POST["lærer"];
$studieret=$_POST["studieret"];
$sql="insert into fag (fagnavn, type, idlærer, idstudieretning) values ('$fag', '$type', '$lærer', '$studieret')";
echo "$sql";
if ($kobling->query($sql)) {
echo "kobblingen $sql ble gjennomført";
}
else {
echo "det var et problem med kobling $sql($kobling->error_message)";
}
}
?>