我正在尝试获取一个布尔值,如果等于1,则插入一个图像。
我查看了一个教程,并将其作为入门者来测试它是否有效:
AND IF(IF_DRAFT_BEER = '1', 5, 2) = 1
我试图说如果 IF_DRAFT_BEER = 1,然后将值设置为5,否则2.如果这样可行,我会尝试实现图像。
我这样打印:
$row['IF_DRAFT_BEER']
但是,在插入和if 子句后,没有任何行显示。
任何人都知道为什么会这样吗?谢谢! :)
答案 0 :(得分:3)
你总是会从该查询中得到一个布尔值为fALSE。您的IF()
来电将返回5
或2
。然后,您针对1
测试5或2,这将总是显示为FALSE。
删除最后一个= 1
:
AND IF(IF_DRAFT_BEER = 1, 5, 2)
所以实际上可以返回5和2。
答案 1 :(得分:2)
嗯,你的路线;
AND IF(IF_DRAFT_BEER = '1', 5, 2) = 1
基本上会给出结果5
或2
,然后将其与1
进行比较。由于5
或2
都不等于1
,因此比较永远不会成立,查询也不会返回任何行。
我不太清楚你为什么要在where
条款中进行这种计算,但我怀疑你会想要将你的计算结果移到选择中并实际得到它,网HRS欧洲;
SELECT IF(IF_DRAFT_BEER = '1', 5, 2) AS IF_DRAFT_BEER
这样它会显示在您的结果中$row
。