我正在寻找使用 mysql 和 php 中的多个术语进行搜索的最有效方法。mysql 中单个关键字的基本选择如下所示;
select * from <table> where (Message like '%term%' or Subject like '%term%');
一个学期可以正常工作。对于多个术语,我看到的建议是从表单发布的每个单词都应该发送到一个数组,并且应该使用 For 循环处理内容。我想知道是否有办法在mysql方面做到这一点?我的怀疑是没有,但问也无妨。
您可以严格使用 MySQL 来执行此操作,对 MID() 等进行大量调用,但它会比 PHP 中复杂得多。事实上,您几乎肯定需要一个存储过程,除非您确定该查询只涉及固定数量的术语(例如,1 到 10 个单词)。
PHP 将使这更简单,您还可以使用准备好的语句使事情更安全。请参阅此讨论。