Php 如何仅在一条语句中将标志重置为false,前提是它为true&;如果这已经是真的,就忽略它吧?

Php 如何仅在一条语句中将标志重置为false,前提是它为true&;如果这已经是真的,就忽略它吧?,php,logic,Php,Logic,如何在一条语句中将标志重置为false,前提是它为true&如果它已经为true,则忽略它?我还想做与此相反的事情。这里是一种情况,我只想禁止一个用户,如果他/她是活跃的,如果他/她已经被禁止,我不想做任何事情。如果用户被禁止,我还想取消对其的访问权限,但如果他/她已经处于活动状态,我不想做任何事情。这可以只在一个语句中使用吗?不,这必须是两个语句(一个用于将用户设置为禁止,另一个用于将用户设置为取消绑定),但不必太复杂 假设您有一个标志“$BANCED”,如果希望禁止用户,您只需将其设置为tr

如何在一条语句中将标志重置为false,前提是它为true&如果它已经为true,则忽略它?我还想做与此相反的事情。这里是一种情况,我只想禁止一个用户,如果他/她是活跃的,如果他/她已经被禁止,我不想做任何事情。如果用户被禁止,我还想取消对其的访问权限,但如果他/她已经处于活动状态,我不想做任何事情。这可以只在一个语句中使用吗?

不,这必须是两个语句(一个用于将用户设置为禁止,另一个用于将用户设置为取消绑定),但不必太复杂

假设您有一个标志“$BANCED”,如果希望禁止用户,您只需将其设置为
true
,如果不希望禁止用户,则将其设置为
false
。用户以前是什么并不重要——只要继续前进,一切都会很好地自行解决

使用SQL,您可能会有一个
禁止的
列<代码>更新不关心值是否保持不变,因此只需运行更新:

-- this will set BANNED to false. Use 1 to set it to true
UPDATE my_table SET BANNED = 0 WHERE ID = <your id>
--这会将禁用设置为false。使用1将其设置为true
更新my_表集禁用=0,其中ID=

尽管如此,您可能希望强制用户在被禁止后注销并重新登录,但这是另一个问题。

这种查询可能会对您有所帮助:

UPDATE `my_table` SET banned=(NOT banned) WHERE id = "<your id>"
UPDATE`my_table`设置禁止=(未禁止)其中id=“”

请重新表述您的问题并举例说明。“仅当其为真时重置,如果为真则忽略”没有任何意义。“我如何将标志重置为假,仅当其为真时&如果其已为真则忽略它?”您想做什么,或者您可以忽略它,或者您可以将其设置为假,但它们是相反的,你不能同时做这两件事。你如何在多个语句或伪代码中编写它?只显式设置或重置它有什么错吗?Cwallenpoole我想知道是否存在一个神奇的操作符,它可以做像这个神奇的操作符(输入,所需的布尔值),那么如果神奇的操作符(真,真)我得到了真值,因此如果我得到了假值(真,假),我不确定我是否感到困惑或是什么,尽管感谢你指出了SQL的事情,我完全忘记了it@Kumar,你说的神奇的操作员不是吗?<代码>=<代码>>?我说的是这样的
更新用户集禁止=!禁用,其中user_id=myuser_id
这将在SQL级别对我一直有效,因为它将重置禁用标志@nickf,我所说的是否定而不是赋值:-)