Where Like 取决于用户 ID
Where Like Dependent on User ID
我一直在使用一个查询来检查用户从搜索字段输入的内容并取回相关数据。此查询使用多个点赞来检查各个字段(名称、参考、订单 ID 等)。
我注意到查询忽略了检查 用户 ID 的地方,只显示该用户的记录。取而代之的是从所有用户那里带回记录。这是当前查询:
SELECT ORDER_ID, ORDER_DATE, ORDER_TIME, ORDER_REF, ORDER_RECNAME
FROM ORDERS
WHERE USER_ID = '$userID' AND ORDER_ID LIKE '%$SearchData%'
OR ORDER_RECNAME LIKE '%$SearchData%' OR ORDER_REF LIKE '%$SearchData%'
OR ORDER_POSTCODE LIKE '%$SearchData%'
GROUP BY ORDER_ID, ORDER_DATE, ORDER_TIME, ORDER_REF, ORDER_RECNAME
我是不是哪里出了问题?它正确使用了 Likes
但没有正确使用 WHERE USER_ID
部分。
您在不带括号的 where 条件中混合了 and
和 or
运算符,这导致了问题。封装由 or
连接的 like
运算符,以将 user_id 限制应用于所有运算符。请记住,and
运算符的优先级高于 or
!
USER_ID = '$userID' AND (ORDER_ID LIKE '%$SearchData%'
OR ORDER_RECNAME LIKE '%$SearchData%' OR ORDER_REF LIKE '%$SearchData%'
OR ORDER_POSTCODE LIKE '%$SearchData%')
我一直在使用一个查询来检查用户从搜索字段输入的内容并取回相关数据。此查询使用多个点赞来检查各个字段(名称、参考、订单 ID 等)。
我注意到查询忽略了检查 用户 ID 的地方,只显示该用户的记录。取而代之的是从所有用户那里带回记录。这是当前查询:
SELECT ORDER_ID, ORDER_DATE, ORDER_TIME, ORDER_REF, ORDER_RECNAME
FROM ORDERS
WHERE USER_ID = '$userID' AND ORDER_ID LIKE '%$SearchData%'
OR ORDER_RECNAME LIKE '%$SearchData%' OR ORDER_REF LIKE '%$SearchData%'
OR ORDER_POSTCODE LIKE '%$SearchData%'
GROUP BY ORDER_ID, ORDER_DATE, ORDER_TIME, ORDER_REF, ORDER_RECNAME
我是不是哪里出了问题?它正确使用了 Likes
但没有正确使用 WHERE USER_ID
部分。
您在不带括号的 where 条件中混合了 and
和 or
运算符,这导致了问题。封装由 or
连接的 like
运算符,以将 user_id 限制应用于所有运算符。请记住,and
运算符的优先级高于 or
!
USER_ID = '$userID' AND (ORDER_ID LIKE '%$SearchData%'
OR ORDER_RECNAME LIKE '%$SearchData%' OR ORDER_REF LIKE '%$SearchData%'
OR ORDER_POSTCODE LIKE '%$SearchData%')