gpt4 book ai didi

php - Mysql广义搜索

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

Aloha,我的目标是能够以“广泛的方式”在我的数据库中搜索信息...我有一个标签框,信息是用这个发送到 mysql 的:

       $save= $_SESSION['cool'];  

//假设我们标记并保存了 50 个包含“red”和“white”的单词//////然后像这样将其发送到数据库:

     $save= preg_replace('/([,])/', '$1 $2', $save); //this adds space. 
$save= preg_replace('/[^\p{L}\p{N}\s]/u', '', $save); // this deletes the comma.
$mysqli = new mysqli("localhost", "root", "0", "mydb");
if ($mysqli->query("INSERT INTO table (staff) VALUES ('$save') "));

好的,所以在我的搜索页面上也是一个标签框,我搜索这样的信息:

    $search= $_SESSION['search'];

//在这里我们保存了白色、红色和粉红色...//

$search= preg_replace('/([,])/', '$1 $2', $search); //this adds space. 
$search= preg_replace('/[^\p{L}\p{N}\s]/u', '', $search); // this deletes the comma.
$mysqli = new mysqli("localhost", "root", "0", "mydb");
$fetch = ($mysqli->query("SELECT * FROM table WHERE staff LIKE ('%$search%') "));

如您所见,我已尝试使用 % %,但是当我不按顺序键入单词时,echo 结果什么也没有...

我的问题是否有改进搜索的方法?所以当我搜索“red”和“white”时,它会显示所有包含“red”的内容或“白色”...

最佳答案

您可以拆分搜索键并分别查找它们:

$search1= explode(',',$search); //splits search
$mysqli = new mysqli("localhost", "root", "0", "mydb");
$query = "SELECT * FROM table WHERE staff LIKE '%" . implode("%' AND staff LIKE '%", $search1) . "%'";
$fetch = ($mysqli->query($query));

关于php - Mysql广义搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27092198/

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