Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 对抗。。。半文字_Sql_Search_Match_Against - Fatal编程技术网

Sql 对抗。。。半文字

Sql 对抗。。。半文字,sql,search,match,against,Sql,Search,Match,Against,我想对查询进行匹配,其中字符串的所有单词都必须位于字段中,但它需要接受错误或未完成的单词 我的实际脚本如下所示: $search= '+'.str_replace(" ","% +",$_POST["searchtext"]); 有了这个,我将“这是我的文本”转换为“+这+是+我的+文本”,这样所有的单词在搜索中都是必需的,然后我做出 $query = $dbh->prepare("SELECT name,surname MATCH (name,surname) AGAINST (:se

我想对查询进行匹配,其中字符串的所有单词都必须位于字段中,但它需要接受错误或未完成的单词

我的实际脚本如下所示:

$search= '+'.str_replace(" ","% +",$_POST["searchtext"]);
有了这个,我将“这是我的文本”转换为“+这+是+我的+文本”,这样所有的单词在搜索中都是必需的,然后我做出

$query = $dbh->prepare("SELECT name,surname MATCH (name,surname) AGAINST (:search IN BOOLEAN MODE) AS coincidences FROM users MATCH (name,surname) AGAINST (:search2 IN BOOLEAN MODE) ORDER BY coincidences");
$query->execute(array('search' => $search,'search2' => $search));
问题是,如果在我的数据库中有一个“斯蒂芬·霍金”,我搜索“斯蒂芬·霍克”,它就不会出现。。。我怎样才能解决这个问题

非常感谢

完成了

$search= '+'.str_replace(" ","* +",$_POST["searchtext"]).'*';

:D

虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。