php - MySQL错误: Unknown column 'd' in 'field list'

标签 php mysql insert

我正在研究 MySQL 的 W3Schools 教程,似乎有些代码已经过时,或者我只是错过了一些完全愚蠢的东西。在尝试将信息传递到数据库时,我收到此错误:

Error: Unknown column 'd' in 'field list'

我尝试从表单提交中传递信息,然后链接到此页面,在该页面中获取用户输入的信息以在数据库中创建新条目。

这是表单提交的代码。

<html>
<body>

<form action="3ainsert.php" method="post">
Firstname: <input type="text" name="firstname">
Lastname: <input type="text" name="lastname">
Age: <input type="text" name="age">
<input type="submit">
</form>

</body>
</html>

这是其他页面的代码:

<?php
$con=mysqli_connect();
// Check connection
if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// escape variables for security
$firstname = mysqli_real_escape_string($con, $_POST['firstname']);
$lastname = mysqli_real_escape_string($con, $_POST['lastname']);
$age = mysqli_real_escape_string($con, $_POST['age']);

$sql="INSERT INTO persons (FirstName, LastName, Age)
VALUES ($firstname, $lastname, $age)";

if (!mysqli_query($con,$sql))
{
  die('Error: ' . mysqli_error($con));
}
echo "1 record added";

mysqli_close($con);
?>

最佳答案

您的查询未将值括在引号中:

$sql="INSERT INTO persons (FirstName, LastName, Age)
VALUES ('$firstname', '$lastname', '$age')";

但是请注意,通常使用准备好的语句优于直接插入查询。

关于php - MySQL错误: Unknown column 'd' in 'field list' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23188535/

相关文章:

php - 将 MYSQL 多边形转换为 PHP 中的文本

php - 用户名已被使用

php - 与 Apache 集成时的 HAPROXY 问题

mysql - SQL 到 outfile - 文件存储在哪里? (MySQL, Windows)

mysql - 具有多个条件的 SQL group by

php - C & MySql 或 PHP & MySql 哪个更快?

MySQL矛盾插入

javascript - 无法使用 jQuery 添加 html 标签和关联数据

java - 使用自定义查询(子查询) hibernate 额外列

sql - 以 COUNT 为条件的 INSERT