我使用 PHP 来创建一个网站,经理可以在该网站上访问和审查员工提交的表单。在审查 PHP 文件中,我创建了两个按钮,基本上用于批准或不批准该表单。他们单击其中一个按钮后,将被重定向到另一个 PHP 文件,该文件实际上将我命名为“已处理”的列中的更改插入到 MySQL 数据库中。它将未处理的 0 更改为已处理的 1。我所指的表格包含表格、全名、部门和其他与工作相关的内容等列,以及“已处理”列,允许经理查看是否有待审核的待处理表格。
我的问题是我不知道如何真正让 MySQL 找到正确的行并仅将名称为“processed”的单元格从 0 更改为 1,而不必再次插入每个单元格。这是我迄今为止尝试过的:
$id = $_SESSION[id];
$fullname = $_SESSION[fullname];
$teamformid = $_SESSION[teamformid];
if (isset($_POST['approved'])) {
$sql = "INSERT INTO carforms (processed) where aboveid='$id' and processed='0' and teamformid=$teamformid
VALUES ('0')";
}
else if (isset($_POST['disapproved'])) {
//todo
}
如何告诉 SQL 只查找我想要的特定行并只更改已处理的一列?
此外,当我使用 INSERT INTO 命令时,是否始终需要键入每个列名称?
提前致谢。
最佳答案
使用下面的代码,它会为您工作。
$id = $_SESSION[id];
$fullname = $_SESSION[fullname];
$teamformid = $_SESSION[teamformid];
if (isset($_POST['approved'])) {
$sql = "UPDATE `carforms` SET processed = '1' WHERE `aboveid` = '".$id."' AND `teamformid` = '".$teamformid."'";
}
关于php - SQL-更改现有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39413867/