php - SQL-更改现有行

标签 php mysql sql-server

我使用 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/

相关文章:

c# - .NET 4 : How to configure EDMX file in other assembly in Web. 配置

php - PHP 中的 SQL : Checking if number of rows is divisible by a certain number

php - 理想的多开发人员灯组?

php - 如何避免或限制PHP错误输出

php - 按需或上传时调整图像大小更好吗?

php - PHP中的PDO中的PDO问题

java - Hibernate更新主键

mysql - .在 ActiveRecord 中查找方法

SQL Server 只允许每个用户一个事件图像

sql - TSQL 在 where 子句中选择最短日期