【发布时间】:2018-11-15 14:25:34
【问题描述】:
我正在尝试使用 PHP 从 HTML 表单向 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 语法中遇到了一些错误。我犯了什么错误?
【问题讨论】:
-
如果您收到任何错误消息,您可以将错误消息与您的问题分享。
-
首先发布您遇到的错误,这将有助于我们为您提供帮助。 我假设您的错误出现在您的 $sql 行,您可能想要一些单一的引号...
$sql = "INSERT INTO cars (id, name, year) VALUES ($id, '$name', '$year')";如果您有空格和其他一些字符,它将破坏您的查询...进一步,您应该真正了解准备好的语句,因为您已经在使用 mysqli,以避免 MySQL 注入。 -
一些错误:注意:未定义索引:第 14 行 C:\xampp\htdocs\create.php 中的 id 注意:未定义索引:C:\xampp\htdocs\create.php 中的名称在线15 注意:未定义索引:C:\xampp\htdocs\create.php 16 行中的年份
-
@TrầnVũAnhDũng 您是否在表单中包含了这些字段?在我看来,您提交的表单中它们要么是空的,要么不存在。
-
是的,我有。我用这个: