作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到限制搜索引擎仅显示与用户($comp_id)相关的数据的问题。我知道 WHERE 子句需要在某个地方,但我只是不知道在哪里。请帮忙!谢谢。
"SELECT * FROM products " .
"WHERE item_id LIKE '%".$keywords[$i]."%'".
" OR item_name LIKE '%".$keywords[$i]."%'" .
" OR class LIKE '%".$keywords[$i]."%'" .
" ORDER BY item_name";
它在第一个 WHERE 子句之后吗?
最佳答案
你想要这样的东西:
SELECT
*
FROM
products
WHERE
(
item_id LIKE '%".$keywords[$i]."%' OR
item_name LIKE '%".$keywords[$i]."%' OR
class LIKE '%".$keywords[$i]."%'
)
AND
user = $comp_id
ORDER BY
item_name
搜索关键字在括号中,因此它会在括号中找到任何内容/全部,因为每个条件都是 OR。括号外的 AND 将其与 OR 查询分开。
因此,括号中的任何内容都匹配,即如果 A = b OR c = d 或者其他内容 = 任何内容,那么 AND 将明确表示括号中匹配的任何内容都是 TRUE,并且用户名也是特定的内容 = TRUE。
关于php - 在哪里放置 WHERE 子句来限制搜索引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18188023/
我是一名优秀的程序员,十分优秀!