SQL Like语句显示所有结果

时间:2016-11-16 00:26:09

标签: mysqli

我之前使用过LIKE语句并且花了很长时间重写语句并且不确定我做错了什么。运行查询时,它将显示数据库中显示更窄列表的所有记录。

使用LIKE语句的原因是允许部分“属性名称”使我的高级搜索工具更有效。

SQL声明:

SELECT
    *
FROM
    properties
WHERE
    PropertyName LIKE '%$PropertyName%'
    OR PropertyLocation LIKE '%$PropertyLocation%'
    OR PropertyType LIKE '%$PropertyType%'
    OR PropertyBeds='$PropertyBeds'
    OR PropertyRate >= '$PropertyRate1'
    AND PropertyRate <= '$PropertyRate2'

请注意:该声明无需使用like和通配符即可运行。

1 个答案:

答案 0 :(得分:1)

您的条件是:

WHERE PropertyName LIKE '%$PropertyName%' or
      PropertyLocation LIKE '%$PropertyLocation%' or
      PropertyType LIKE '%$PropertyType%' or
      PropertyBeds = '$PropertyBeds' or
      PropertyRate >= '$PropertyRate1' and PropertyRate <= '$PropertyRate2' 

如果PropertyNamePropertyLocationPropertyType为空字符串,则您将返回所有行。这是我对发生的事情的第一次猜测。

也许您希望AND作为连接符而不是OR