提问者:小点点

使用PHP从HTML表单向MySQL db插入数据


我正在尝试从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语法中发现了一些错误。我犯了什么错误?


共1个答案

匿名用户

确保所有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。

相关问题