学校の割り当て用にユーザーデータベースを構築しています。PHPのMySQLで複数のテーブルにデータを追加しようとしているのです。
コードは次のとおりです。
if (isset($_POST['opslaan'])){
$lidnummer = $_POST['lidnummer'];
$naam = $_POST['naam'];
$voornaam = $_POST['voornaam'];
$postcode = $_POST['postcode'];
$adres = $_POST['adres'];
$woonplaats = $_POST['woonplaats'];
$huisnummer = $_POST['huisnummer'];
$telefoonnummer = $_POST['telefoonnummer'];
$emailadres = $_POST['emailadres'];
$query = "INSERT INTO postcode(postcode, adres, woonplaats) VALUES ('$postcode', '$adres','$woonplaats')";
$result = $connection->query($query);
if (!$result) die("Fout postcode tabel");
$query = "INSERT INTO lid(lidnummer, naam, voornaam, postcode ,huisnummer) VALUES ('$lidnummer', '$naam', '$voornaam' , '$postcode' ,'$huisnummer')";
$result = $connection->query($query);
if (!$result) die("Fout lid tabel");
$query = "INSERT INTO telefoonnummers (telefoonnummer, lidnummer) VALUES ('$telefoonnummer', '$lidnummer')";
$result = $connection->query($query);
if (!$result) die("Fout Telefoonnummer tabel");
$query = "INSERT INTO e_mail (emailadres, lidnummer) VALUES ('$emailadres', '$lidnummer')";
$result = $connection->query($query);
if (!$result) die("Fout Email tabel");
//berichten
$_SESSION['message'] = "Record is opgeslagen!";
$_SESSION['msg_type'] = "succes";
header("location: index.php");
}
私のページが次のメッセージを返しているのは何が起こったのですか:「Fout lid tabel」PhpMyAdminでこれと同じ順序を使用し、機能します。
知っておくと良いのは、私のDBのビルドです。
CREATE TABLE postcode (
postcode VARCHAR(10),
adres VARCHAR(25),
woonplaats VARCHAR(25),
PRIMARY KEY (postcode)) ENGINE InnoDB;
CREATE TABLE Lid (
lidnummer INT,
naam VARCHAR(25),
voornaam VARCHAR(25),
postcode VARCHAR(10),
huisnummer INT,
PRIMARY KEY (lidnummer),
FOREIGN KEY (postcode) REFERENCES postcode(postcode)) ENGINE InnoDB;
CREATE TABLE Telefoonnummers (
telefoonnummer VARCHAR(10),
lidnummer INT,
PRIMARY KEY (telefoonnummer),
FOREIGN KEY (lidnummer) REFERENCES Lid(lidnummer)) ENGINE InnoDB;
CREATE TABLE e_mail (
emailadres VARCHAR(20),
lidnummer INT,
PRIMARY KEY (emailadres),
FOREIGN KEY (lidnummer) REFERENCES Lid(lidnummer)) ENGINE InnoDB ```
あなたはlidnummerをintとして定義したようですが'$lidnummer'
、それを文字列()として書き込んでいるようです、引用符なしで動作している可能性があります。phpMyAdminでフォームアプローチを使用しているときは、これを見たことがないかもしれません
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加