gpt4 book ai didi

php - 在MySQL查询中查找不同词序的字符串

转载 作者:行者123 更新时间:2023-11-29 11:07:53 25 4
gpt4 key购买 nike

这可能是一个非常基本的问题,但我希望有人能够提供帮助?

假设我有一个 MySQL 表,其中有一个名为 exampleString 的字段,它是一个文本字段

在一条记录中,字段 exampleString 包含以下文本:

“苹果橙子梨”

现在,我想要做的(PHP)如下:

  1. 执行查询来搜索“苹果、橙子、梨” - 我可以做到,没问题。

  2. 执行查询来搜索“oranges apples pears”,它将返回其中包含字符串“apples Oranges pears”的记录 - 我不知道该怎么做。 (注意:如果查询搜索字符串只是“oranges pears”,则不应返回记录)。

我还希望能够使查询不区分大小写,但我也不知道如何做到这一点(尽管我还没有搜索过)。

最佳答案

您可以对输入中的每个单词使用 PHP for 循环并进行 SQL 查询。

在MySQL中,您可以使用LIKE "%[your_string]%"来搜索字符串内容[your_string] http://dev.mysql.com/doc/refman/5.7/en/pattern-matching.html

因此,如果您需要匹配“苹果橙子梨”和“苹果梨橙”,您需要执行以下操作:

LIKE "%apples%" AND LIKE "%oranges%" AND LIKE "%pears%"

因此,您会发现字符串内容 apples AND Oranges AND pears 没有顺序重要性

现在在 php 中,the explode function转换数组中的字符串

所以,最终代码的示例(根据您的情况调整干净并确保其安全。测试您的变量等)

$string = 'apples oranges pears';

$explode = explode(' ', $string);

$whereString = '';
foreach ($explode as $key => $value) {
$whereString .= ' AND [your_field] LIKE "%'.$value.'%"';
}

echo $whereString;

关于php - 在MySQL查询中查找不同词序的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41099510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com