PHP PDO请求分离关键字而不考虑它们作为字符串 我需要能够搜索和考虑不同的词作为关键字而不是字符串。

PHP PDO请求分离关键字而不考虑它们作为字符串 我需要能够搜索和考虑不同的词作为关键字而不是字符串。,php,mysql,pdo,keyword,keyword-search,Php,Mysql,Pdo,Keyword,Keyword Search,实际上,如果我搜索“蓝灯”,则不会显示“蓝白灯”或“蓝灯”的结果。我想考虑空格作为关键字分隔符。考虑到我的实际代码,我们如何做到这一点 $pdo2_where = " WHERE (" .$db_type_1_associations['nom_bot'] ." LIKE ? || " .$db_type_1_associations['id'] ." LIKE ? || " .$db_type_1_associations['nom_fr'] ." LIKE ? || " .$db_type_

实际上,如果我搜索“蓝灯”,则不会显示“蓝白灯”或“蓝灯”的结果。我想考虑空格作为关键字分隔符。考虑到我的实际代码,我们如何做到这一点

$pdo2_where = " WHERE (" .$db_type_1_associations['nom_bot'] ." LIKE ? || " .$db_type_1_associations['id'] ." LIKE ? || " .$db_type_1_associations['nom_fr'] ." LIKE ? || " .$db_type_1_associations['description'] ." LIKE ? || " .$db_type_1_associations['commentaire_public'] ." LIKE ?)" .$pdo2_add_where_photos ;
$pdo2_execute = array (
'%' .htmlspecialchars(urldecode(trim($_GET['recherche']))) .'%',
'%' .htmlspecialchars(urldecode(trim($_GET['recherche']))) .'%',
'%' .htmlspecialchars(urldecode(trim($_GET['recherche']))) .'%',
'%' .htmlspecialchars(urldecode(trim($_GET['recherche']))) .'%',
'%' .htmlspecialchars(urldecode(trim($_GET['recherche']))) .'%'
); 

*此外,分隔斜杠、逗号和其他经典分隔符也很好

现在是考虑使用搜索引擎的好时机。或者,如果可能,至少是全文索引


您可以只使用SQL来实现这一点,但您的查询将变得更加复杂。您需要在空格上拆分搜索字符串,并为每个关键字和字段组合添加额外的or子句

可能有点不正常,但查询字符串爆炸,循环计数?不要成为一个仇恨者:-)