首页 > 解决方案 > 在选择查询中使用!=、“AND”和“OR”时在 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']'的行。

可能会有任何其他方式......但我想不出,任何帮助或建议将不胜感激。

标签: mysql

解决方案


也许像这样:

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

推荐阅读