【发布时间】:2016-12-12 11:08:53
【问题描述】:
这可能是一个非常基本的问题,但我希望有人能够提供帮助吗?
假设我有一个 MySQL 表,其中包含一个名为 exampleString 的字段,它是一个文本字段
在一条记录中,字段 exampleString 包含以下文本:
“苹果橘子梨”
现在,我想做的(PHP)如下:
执行查询以搜索“apples oranges pears” - 我可以这样做,没问题。
执行查询以搜索“oranges apples pears”,它将返回包含字符串“apples oranges pears”的记录 - 我不知道该怎么做。 (注意:如果查询搜索字符串只是“oranges pears”,则不应返回记录)。
我还希望能够使查询不区分大小写,但我也不知道该怎么做(虽然我还没有搜索过)。
【问题讨论】:
-
你不能在php的循环中使用
AND查询?示例:$string = 'apples oranges pears'; $explode = explode (' ',$string);和循环:foreach($explode as $value) {$query .= 'AND your_field LIKE "%'$value'%"};如果您需要,我可以回答并解释:) -
这不是(我的)SQL 擅长的。如果您想为此使用 RDBMS,请考虑规范化您的数据。如果做不到这一点,请考虑查看 FULLTEXT 索引。否则,请考虑为此任务使用应用程序级代码(我的偏好)。
-
感谢您的回复,非常感谢。我认为 SQL 在这方面不是很好,但想检查一下,你已经确认了 :)