我正在尝试从HTML表单使用PHP向SQL数据库插入新记录。
我用Post方法制作了一个表单
<form name="CreatNewMCQ" action="create.php" method="POST">
带有提交按钮
<button type="submit" form="CreateNewMCQ">CREATE</button>
我想做的是,当我按下按钮时,它将调用create.php,这是
<?php
$servername = "localhost";
$user = "admin";
$pass = "admin";
$dbname = "examples";
// Create connection
$conn = new mysqli($servername, $user, $pass, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$id = $_POST['id'];
$name = $_POST['name'];
$year = $_POST['year'];
$sql = "INSERT INTO cars (id, name, year)
VALUES ($id, $name, $year)";
if ($conn->query($sql) === TRUE) {
echo "Tạo mới thành công";
} else {
echo "Lỗi: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
然后将表单中的数据插入SQL数据库(表单中的id、名称、年份)。我在SQL语法中发现了一些错误。我犯了什么错误?
确保所有post值正确获取。您应该在插入数据之前进行条件检查,例如:
$id = isset($_POST['id']) ? $_POST['id'] : '';
$name = isset($_POST['name']) ? $_POST['name'] : '';
$year = isset($_POST['year']) ? $_POST['year'] : '';
if($id && $name && $year){
$sql = "INSERT INTO cars (id, name, year)
VALUES ($id, '$name', '$year')";
}else{
return "required fields are missing";
}
注意:如果可能,请发布您的html。