PHP-从数据库中选择多个列

PHP-从数据库中选择多个列,php,forms,search,multiple-columns,Php,Forms,Search,Multiple Columns,我有栏目名称、摘要、描述、开放时间、地址、邮政编码 我要做的是触发“$construct”查询中的所有这些列,其中包括“%$search\u each%”之类的内容 我已经尝试过,或者,并且团结起来了,那会是什么样的结构呢 我已经没有主意了。像这样使用concat\ws(): $search_exploded = explode (" ", $search); foreach($search_exploded as $search_each) { $x++; if($x==1)

我有栏目名称、摘要、描述、开放时间、地址、邮政编码

我要做的是触发“$construct”查询中的所有这些列,其中包括“%$search\u each%”之类的内容

我已经尝试过,或者,并且团结起来了,那会是什么样的结构呢

我已经没有主意了。

像这样使用
concat\ws()

$search_exploded = explode (" ", $search);
foreach($search_exploded as $search_each) {
    $x++;
    if($x==1) 
        $construct .="Name  LIKE '%$search_each%'";
    else
        $construct .="AND Name LIKE '%$search_each%'";
}

$construct ="SELECT * FROM Rating, Attraction WHERE $construct" ;
希望它能起作用

$construct ="SELECT * FROM Rating, Attraction WHERE
concat_ws(Name, Summary, Description, OpeningHours, Address, Postcode)
LIKE '%$search_each%'";

您必须记住,
$search
现在是一个数组,每个列键都有作为字符串值的搜索项。

foreach循环迭代后,
$construct
的值是多少?是否要检查任何搜索词是否出现在任何字段中?尽管现在我的数据库信息正在重复其值self和显示echos各12次,12是我在数据库中的行数。有人知道如何解决这个问题吗?我试过休息;但这只会在我的搜索中产生一个结果…非常感谢提醒!我知道重复结果有问题,这与多维数组有关吗。我试过休息一下;在echo中,但这将始终将搜索减少为一个结果,谢谢。
$columns = array('Name', 'Summary', 'Description', 'OpeningHours', 'Address', 'Postcode')
foreach($columns as $column) {
    $search_exploded = explode (" ", $search[$column]);
    foreach($search_exploded as $search_each) {
        $x++;
        if($x==1) 
            $construct .="$column  LIKE '%$search_each%'";
        else
            $construct .="AND $column LIKE '%$search_each%'";
    }
}