将LIKE与多个WHERE子句一起使用

时间:2019-02-23 22:14:17

标签: php mysql sql

我对PHP和数据库管理还很陌生,但是很快就可以使用它。 我正在尝试创建一个搜索栏,但搜索栏却在工作,只是不能完全返回我想要的结果。 本质上,我想根据其标题(名称),字幕和发行日期在数据库中查找电影。 这是我当前拥有的代码:

if(isset($_POST['search'])){
    $resultArray = '';
    $searchTerm = $_POST['searchTerm']; 
    if($getSearchResults = $conn->query("SELECT type, name, subtitle, release_date, poster_url, slug FROM media WHERE (name OR subtitle OR release_date) LIKE '%$searchTerm%' LIMIT 5")){   
        $resultArray = array();
        while($data = $getSearchResults->fetch_assoc()){            
            $resultArray[] = $data;                 
        }
    }else{
        echo 'No Data';
    }
    echo json_encode($resultArray); 
}

这(可能很明显)不起作用。如果该字段为空,则返回的搜索结果是所有没有字幕的电影,因为该字段为空。但是,如果我输入电影名称(例如《复仇者联盟》)或上映日期(例如2018年),则没有任何反应。出于某种原因,它实际上只能用于空白字段吗?

最终,我希望您能像返回搜索词一样帮助它返回结果,我可以忍受它搜索空白字段,但是如果您也有解决方案,那就太好了!

谢谢

1 个答案:

答案 0 :(得分:1)

我相信您需要执行以下操作。

"outDir": "../out-tsc/app"