Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在mysql中使用if语句_Php_Mysql_Pdo - Fatal编程技术网

Php 如何在mysql中使用if语句

Php 如何在mysql中使用if语句,php,mysql,pdo,Php,Mysql,Pdo,我想从durasi_pre_中减去1(-1)个值,如果durasi_pre_的基本值大于0,则当durasi_pre_的值为0时,将Premium更新为成员 这是我想要的 UPDATE user SET durasi_pre_u = IF(durasi_pre_u > 0, durasi_pre_u - 1, durasi_pre_u), pangkat_u = IF(durasi_pre_u <> 1 AND pangkat_u = 'Premium', pangkat_

我想从
durasi_pre_
中减去1(-1)个值,如果
durasi_pre_
的基本值大于0,则当
durasi_pre_
的值为0时,将
Premium
更新为
成员

这是我想要的

UPDATE user 
SET durasi_pre_u = IF(durasi_pre_u > 0, durasi_pre_u - 1, durasi_pre_u), 
pangkat_u = IF(durasi_pre_u <> 1 AND pangkat_u = 'Premium', pangkat_u = 'Member', pangkat_u)
更新用户
设置durasi_pre_=IF(durasi_pre_>0,durasi_pre_-1,durasi_pre_),
pangkat_=IF(durasi_pre_1和pangkat_='高级',pangkat_='成员',pangkat_)
此代码有效-1
durasi_pre_
但不起作用将
Premium
更改为
会员


我尝试按照本网站的教程进行操作,在
If
函数中,您只需指定要设置的值,以防为真或假。不要指定字段名=值(
pangkat\u='Member'

使用以下命令:

UPDATE user 
SET durasi_pre_u = IF(durasi_pre_u > 0, durasi_pre_u - 1, durasi_pre_u), 
pangkat_u = IF(durasi_pre_u <> 1 AND pangkat_u = 'Premium', 'Member', pangkat_u)
更新用户
设置durasi_pre_=IF(durasi_pre_>0,durasi_pre_-1,durasi_pre_),
pangkat_=IF(durasi_pre_1和pangkat_=‘高级’、‘会员’、‘pangkat_’

您的查询有一个错误,首先您只想在
durasi\u pre\u
的当前值为1时更改
pangkat\u
的值(因此它即将更改为0),因此您需要将
更改为
=
。其次,将
pangkat_='Member'
作为新值,MySQL将其视为布尔表达式(即值1或0)。你真正想要的只是
“成员”
。因此,您的查询应该是:

UPDATE user 
SET durasi_pre_u = IF(durasi_pre_u > 0, durasi_pre_u - 1, durasi_pre_u), 
pangkat_u = IF(durasi_pre_u = 1 AND pangkat_u = 'Premium', 'Member', pangkat_u)

你想更新表格还是只选择转换后的数据
durasi_pre_
?我编辑我的问题
pangkat_
应该在
durasi_pre_
之后或更新
durasi_pre_
之前更新,我认为
durasi_pre_
之后你需要用
“成员”
并将
更改为
=