PHP 更新 MySQL,表单输入作为列名

标签 php mysql forms

所以我很抱歉,因为我觉得我问了很多愚蠢的问题。我边走边学,但最终还是到达了目的地。

我创建了一个基本的 HTML 表单,并在之前答案的帮助下进行了 PHP 和 MySQL 查询。但是,当我提交表单时,表单中的输入值显示为列名称,而不是行中要更新的信息。

简单来说,当提交表单时,如果输入是将名字从 James 更改为 Josh,错误消息是:

“更新记录时出错:‘字段列表’中的未知列‘Josh’”

尽管在下面的 SQL 查询中,它会将列名称选取为first_name,但这显然没有发生。

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "Users";

//Create variables
$first_name=$_POST['first_name'];
$last_name=$_POST['last_name'];
$ID=$_POST['ID'];

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 

$sql = "UPDATE Users SET first_name=$first_name, last_name=$last_name WHERE 
ID=$ID";

if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?>

最佳答案

我不懂 PHP,但我怀疑你的问题是你没有在更新语句中引用该值。所以尝试这样的事情:

"UPDATE Users SET first_name='$first_name', last_name='$last_name' WHERE ID=$ID"

关于PHP 更新 MySQL,表单输入作为列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44476368/

相关文章:

php - 使用 YouTube api 的永久访问 token ?

php - 如何从 Codeigniter 4 中的 url 中删除 public/index.php/

即使没有错误,PHP 也不会插入 SQL 表

html - Bootstrap 表单标签未正确显示

php - 尝试在我的表单 CI MySQL 中添加上传图像

php mysql 批量或批量更新多列和多行,但如果列不为空则不更新

php - JQuery 和 PHP 验证问题?

php - 使用 Symfony 在 2 个表之间建立多个连接表

php - 按相似度排序搜索结果

c# - 提交表单,包括从 HTML 或 MVC View 将文件上传到 ASP.NET webform