布尔PHP MySQL和或不搜索


Boolean PHP MySQL And OR Not Search

有人能帮忙吗?我正在尝试使用php构建一个搜索,该搜索在mysql中搜索文本字段。

我希望用户能够输入一个必须具有的条件,一个或条件和一个非条件,以及能够搜索字符串,例如:

("这个短语"或"那个短语")AND单词

目前,我正在使用下面的例子来生成一个搜索字符串:

    $all = $row['and_search'] ;
    $any = $row['or_search'] ;
    $none = $row['not_search'];
    if((!$all) || ($all == "")) { $all = ""; } else { $all = "$all"; }
    if((!$any) || ($any == "")) { $any = ""; } 
    if((!$none) || ($none == "")) { $none = ""; } else { $none = "$none"; }

上面的内容只适用于单个单词,但不适用于像上面例子这样的搜索。

有什么想法我可以改变实现这一点吗?

通过空格将$all、$any和$none剥离到数组中。而不是像一样加入他们

$newAll = '("' . join('" OR "', split(' ', $all)) . '")';