所以我很抱歉,因为我觉得我问了很多愚蠢的问题。我边走边学,但最终还是到达了目的地。
我创建了一个基本的 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/