如果只有一个语句,我怎么能将一个标志重置为false,只要它是真的&如果它已经是真的只是忽略它?我也想与此相反。这是一种情况,我想禁止用户只有他/她活跃,如果他/她已被禁止我不想做任何事情。如果他/她被禁止,我也想取消用户,但如果他/她已经活跃则不想做任何事情。这可以只用一个声明来表达吗?
答案 0 :(得分:1)
不,这必须是两个语句(一个用于将用户设置为禁用,另一个用于将用户设置为unbanned),但它不必复杂。
假设您有一个“$ banned”标志,如果您希望用户被禁止,您只需将其设置为true
,如果用户不应被禁止,则设置为false
。无论用户之前是什么都没关系 - 只需继续前进,一切都应该很好地完成。
使用SQL,您可能会有BANNED
列。 UPDATE
不关心值是否保持不变,因此只需运行更新:
-- this will set BANNED to false. Use 1 to set it to true
UPDATE my_table SET BANNED = 0 WHERE ID = <your id>
所有这些都表示,您可能希望强制用户在被禁止后退出并重新登录,但这是另一个问题。
答案 1 :(得分:0)
这种查询可能对您有所帮助:
UPDATE `my_table` SET banned=(NOT banned) WHERE id = "<your id>"