选择查询无效

时间:2015-05-20 16:30:26

标签: php mysql

我有一个select查询,我想检查一下,如果我的数据库表中的sensorValue数不在max和min之间且状态等于0,则回显一条消息。

我做了一些不能完全按照我的意愿工作的东西。 代码如下

//ALERT SYSTEM
     $query2 = mysql_query("SELECT username, typeValue, datetime FROM sensors WHERE sensorValue < min OR sensorValue > max AND status='0'");
     while($row = mysql_fetch_array($query2))
     {
        if($username==$row['username'])
        {
            $alert_message= " <b><font color=red><p align='center'>You Have Health Problem with Your ".$row['typeValue']." at ".$row['datetime']."</font></b>";
            $link_address = "viewsensordata.php?view=".$row['username'];
            ?>
            <a href="<?php echo $link_address;?>"> <?php echo $alert_message; ?> </a>
            <?php

        }
     }

代码有什么问题,如果状态为1

,它仍然会回显消息

2 个答案:

答案 0 :(得分:6)

我担心你必须加上一个括号:

SELECT username, typeValue, 
datetime FROM sensors 
WHERE (sensorValue < min OR sensorValue > max) 
AND status='0'

这里的“问题”是“和”和“或”具有优先权,如果我没有错,你一直在做的是“sensorValue&lt; min或(sensorvalue&gt; and status ='0') “

答案 1 :(得分:1)

你需要括号:

SELECT username, typeValue, datetime FROM sensors WHERE 
(sensorValue < min OR sensorValue > max)
 AND status='0'