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