首页 > 解决方案 > 将 $_POST 变量格式化为准备好的语句

问题描述

这可能是一个愚蠢的问题,但如果我使用 MySQLi 和准备好的语句插入数据。

是否可以在一行中放入不同的条件?

例如,如果文本Active更改为Inactive,如果文本Inactive更改为Active. 可以只用一行吗?

$Status = ($_POST['status'] == "Inactive" ? "Inactive" : "Active");

标签: phpmysql

解决方案


如果您所做的只是在Active和之间切换状态Inactive,那么您可以在单个查询中使用CASE WHEN.

UPDATE myTable
SET status = (CASE WHEN status = 'Inactive' THEN 'Active' 
                   ELSE 'Inactive' 
              END)

WHERE id = ?

推荐阅读