php - 如何更新表 if ... else

标签 php mysql

我想要更新表,但出了点问题。如果某件事是真的或不是,我该如何更新我的表格。例如,如果为真,我想要设置值 0,如果不是,则增加 +1。这是我的代码:

$fp = @fsockopen($host, $port, $errno, $errstr, 30);
            if ($fp) { 
                print "<TR><TD>$idt</TD><TD>$name<TD>OK</TD><TD>$quantity</TD></TR>\n";
            } else { 
             print "<TR><TD>$idt</TD><TD>$name<TD>Error</TD><TD>$quantity</TD></TR>\n";
                }

if ($conn->query($fp) == TRUE) {
    $resetsql = "UPDATE addresses SET count=0";
} else {
   $updatesql = "UPDATE addresses SET count=count+1";
}

最佳答案

您似乎正在寻找CASE:

UPDATE addresses SET cnt = CASE WHEN :param = 1 THEN 0 ELSE cnt + 1 END

如果:param1,则0将被分配给cnt。否则,cnt 会递增。

在 MySQL 中,这可以缩短为:

UPDATE addresses SET cnt = CASE WHEN :param THEN 0 ELSE cnt + 1 END

关于php - 如何更新表 if ... else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58358638/

相关文章:

mysql - ER图是哪一张

PhP 触摸不存在的文件返回 true

PHP/SQL 将值插入表并将一个值设置为唯一后,无法插入更多值

javascript - 为什么我的脚本只获取我的 php 表的第一行?下面是我的代码

javascript - 执行mysql查询后刷新图表(javascript)

php - 如何将复选框中的多个值添加到 mysql 数据库中

php - 有没有办法在 PHP 中按表名分隔 MySQL 查询结果?

php - 如何检查 PHP 中的前 2 个字符(不区分大小写)?

php - 通过 MySQL 搜索查询传递多个 $_POST 字段

php - 如何检索最新的编号数据库中的第三条记录?