フォームを使用してデータベースに姓と名を送信しようとしていますが、実際に値をFirstNameとLastNameに送信しません。 IDとしての新しいレコードが作成されます。フォームデータがMySQLデータベースに正しく挿入されていません
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Add Student Form</title>
</head>
<body>
<form action="insert.php" method="post">
<p>
<label for="FirstName">First Name:</label>
<input type="text" name="FirstName" id="FirstName">
</p>
<p>
<label for="lastName">Last Name:</label>
<input type="text" name="LastName" id="LastName">
</p>
<input type="submit" value="Submit">
</form>
</body>
</html>
PHP( 'insert.php' と呼ばれる別のファイルとして):
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO Students (FirstName, LastName)
VALUES ('$FirstName', '$LastName')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
任意の助けいただければ幸いです。
あなたの値はinsert.phpファイルに設定されていません。 –
警告:あなたのコードはSQLインジェクション攻撃にも役立ちます。あなたは、 "prepared statement"と "parameter binding"を使うことのメリットについて学びたいと思っています。 – arkascha