您好,我是PHP新手。所以我在这里有此查询,检查数据库中Order Total的status是否设置为1或0$chk_dscnt=mysql_query("SELECT * FROM `discount` WHERE `discount_type` = 'Order Total' ");while ($x=mysql_fetch_array($chk_dscnt)) { echo $x['status'];}(I already have a function to change the status to 1 or 0)。如果$grand_total为1,我想在status上打折,如果状态为0,则显示正常的$grand_total。但是即使我将status设置为1或0,它也总是执行并显示elseif statement或正常价格。是否存在任何逻辑或语法错误?需要您的帮助:)if ($x == '1'){ $subt = 0; $discounted_price= $grand_total - ($grand_total*(5/100) ); $subt= $subt + $discounted_price; echo '<input type=text name=total value='.$subt.'>';}else if($x == '0'){ $subt =$grand_total; ; echo '<input type=text name=total value='.$subt.'>';} (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 在您的情况下,$x是一个数组。所以你不能将数组与这样的字符串进行比较if ($x == '1')您需要使用索引进行比较if ($x['status'] == '1')关于php - IF/ELSEIF比较数据库中的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17627670/ (adsbygoogle = window.adsbygoogle || []).push({}); 10-09 00:07