gpt4 book ai didi

php - 将 LIKE 与多个 WHERE 子句结合使用

转载 作者:行者123 更新时间:2023-11-29 09:50:49 25 4
gpt4 key购买 nike

我对 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 年),则不会出现任何结果。由于某种原因,它实际上只适用于空白字段?

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

谢谢

最佳答案

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

SELECT type, name, subtitle, release_date, poster_url, slug 
FROM media
WHERE name LIKE '%$searchTerm%'
OR subtitle LIKE '%$searchTerm%'
OR release_date LIKE '%$searchTerm%'
LIMIT 5

关于php - 将 LIKE 与多个 WHERE 子句结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54846758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com