我之前使用过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和通配符即可运行。
答案 0 :(得分:1)
您的条件是:
WHERE PropertyName LIKE '%$PropertyName%' or
PropertyLocation LIKE '%$PropertyLocation%' or
PropertyType LIKE '%$PropertyType%' or
PropertyBeds = '$PropertyBeds' or
PropertyRate >= '$PropertyRate1' and PropertyRate <= '$PropertyRate2'
如果PropertyName
,PropertyLocation
或PropertyType
为空字符串,则您将返回所有行。这是我对发生的事情的第一次猜测。
也许您希望AND
作为连接符而不是OR
。