php - 如何在MYSQL查询WHERE语句中创建IF语句
问题描述
这可以用SQL来完成吗?
我需要根据 $query 是否为false WHERE (u.id_user = ".$userId." OR fu.id_user = ".$userId." OR ff.id_user = ".$userId.")"
ELSE来进行 SQL 选择"$query";
这是我必须满足两个条件的起点:
$validatedSearchData = array(
"q"=>strip_tags($_GET["q"])
);
$query= " AND a.tags LIKE ".lib::$db->qstr("%".$validatedSearchData["q"]."%");
$feed = lib::$db->GetAll("SELECT SQL_CALC_FOUND_ROWS
a.*,
u.name,
fu.id_user AS fu_user_id,
ff.id_followed_user AS ff_user_id
FROM feed AS a
LEFT JOIN userfollow AS fu ON a.id_author = fu.id_user
LEFT JOIN userfollow AS ff ON a.id_author = ff.id_followed_user
INNER JOIN user_profiles AS u ON a.id_author = u.id_user
WHERE (u.id_user = ".$userId." OR fu.id_user = ".$userId." OR ff.id_user = ".$userId.")" . $query. "
GROUP BY a.id_article
");
解决方案
更改此行
$query= " OR a.tags LIKE ".lib::$db->qstr("%".$validatedSearchData["q"]."%");
用 OR 代替 AND
推荐阅读
- javascript - 如何在 MySQL 计数查询后通过下拉列表按年份过滤 Chart JavaScript Dashboard?
- c - 为 yocto 创建 goaccess 配方
- go - Golang,安装后导入 pkg
- javascript - 创建一个“去网站的随机页面功能”
- ruby-on-rails - 当我通过 Ctrl+Z 停止 Rails 服务器时,之后需要进行繁琐的工作才能启动并运行它。可以有一个脚本来为我解决这个问题吗?
- reactjs - 是否可以将 AWS Amplify Storage 中的内容直接下载到浏览器中?
- php - SQL 每月更新一次行
- c# - IDM 如何知道谷歌驱动器文件大小?
- java - 为什么接口类型被认为与重载完全不同?
- arrays - Fortran 错误:/var/folders/df/btj2wstn58xf0yrmq9n65ybc0000gn/T//ccLHoofN.s:12187:2:错误:重定位中不支持的符号修饰符