PHP:在mysql中搜索字符串中的单词?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP:在mysql中搜索字符串中的单词?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1053字,纯文字阅读大概需要2分钟。
内容图文
我正在尝试使用PHP在mysql数据库中的字符串中搜索单词.
我遇到的问题是它在我的PHP页面上搜索并吐出结果,但是任何接近搜索单词的单词也会在我的页面上得到结果.
为了更好地解释这个,让我说我有一个像这样的字符串:
women's clothing
现在,如果我搜索一个女性的单词,结果会正确地显示在我的页面上但是如果我搜索单词men,我的页面上会显示相同的结果,因为女性这个单词中有单词men.
这是我目前的SQL查询:
SELECT id, category_name, image_url FROM data WHERE `category_name` LIKE '%$sub%' GROUP BY category_name
我试图将’%$sub%’更改为’$sub’,但这根本不会返回任何结果!
有人可以就此提出建议吗?
编辑:
category_name列中的字符串各不相同,因为它们来自外部API,所以无法更改.
这些字符串可以变化.所以看起来像女装连衣裙裙子和另一个可能看起来像女鞋,另一个可能看起来像女式皮包,另一个可能看起来像男鞋等等….
所以我需要做的是显示关键字女性的所有结果,并显示所有男性的结果.我希望这是有道理的.
但是目前,男人和女人的结果同时显示,因为正如我在上面解释的那样,女人这个词中有男人这个词.
解决方法:
您可以使用MySQL的REGEXP运算符,使用单词匹配来完成此操作.
SELECT ... WHERE column REGEXP '[[:<:]]$sub[[:>:]]' ...
内容总结
以上是互联网集市为您收集整理的PHP:在mysql中搜索字符串中的单词?全部内容,希望文章能够帮你解决PHP:在mysql中搜索字符串中的单词?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。