gpt4 book ai didi

php - 使用排列在 MySQL 中搜索

转载 作者:搜寻专家 更新时间:2023-10-30 22:06:10 25 4
gpt4 key购买 nike

我需要帮助。
我有一个表,其中只有两列:ID 和 NAME 以及这些数据:

ID | NAME
1 HOME
2 GAME
3 LINK

我想要表演,例如名称为:HOME 的行如果用户搜索:HOME 或 OMEH 或 EMOH 或 HMEO 等... - 来自单词 HOME 的所有排列。

我无法将所有这些排列保存到 mysql 并在此列中进行搜索,因为有些单词太大(9-10 个字符)并且每 9 个字符的单词超过 40 MB。

最佳答案

解决此问题的一种方法是将每个名称中经过排序的字符集作为附加列存储在数据库中,然后在搜索之前对用户输入的字符串进行排序,例如数据库有

ID   NAME   CHARS
1 HOME EHMO
2 GAME AEGM
3 LINK IKLN

然后在 PHP 中搜索时,您会这样做:

$search = 'MEHO';                // user input = MEHO
$chars = str_split($search);
sort($chars);
$search = implode('', $chars); // now contains EHMO
$sql = "SELECT ID, NAME FROM table1 WHERE CHARS = '$search'";
// perform query etc.

输出

ID   NAME
1 HOME

关于php - 使用排列在 MySQL 中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53100298/

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