在选择查询中使用!=,“ AND”和“ OR”时,在MySQL中未得到结果。

时间:2019-01-18 13:27:08

标签: mysql

我有一个表,其中有ID,用户名,地址1,地址2,邮政编码,描述等字段。那么,我想获取所有行,因为其中“ ID”不得等于“ $ _SESSION” ['id']'和'add1'必须等于'address1'或add2必须等于'address2'。

我的查询如下:

$res = mysqli_query($con,"
SELECT * 
  FROM tabledata 
 WHERE ID !='$_SESSION['id']' 
   AND address1 = '$add1' 
    or address2 = '$add2' 
 ORDER 
    BY id DESC 
 LIMIT 5
");

但是这个查询也给了我那一行'ID'值等于'$ _SESSION ['id']'的行。

可能还有其他方法...但是我不明白,任何帮助或建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

也许像这样:

$res = mysqli_query($con,"
SELECT * 
  FROM tabledata 
 WHERE ID <> '$_SESSION['id']' 
   AND (
             address1 = '$add1'
          OR address2 = '$add2' 
   )  
 ORDER 
    BY id DESC 
 LIMIT 5
");
相关问题