我需要一个查询来检查具有少数条件的表并返回一个结果:
SELECT
IF(id='123' AND user='alex') FOUND -> return false ELSE -> return true
IF(user='alex') NOT FOUND -> return false
FROM `table`
我不知道如何在php函数中构建这样的查询,当它调用时,结果true
或false
将返回
function check(id, user)
{
$q = $mysqli->query("...sql query...");
if($q->num_rows > 0){
return true;
}
return false;
}
答案 0 :(得分:1)
在此阶段忘记PHP代码。
更高层次思考。
您需要做的第一件事是获取正确的数据以与变量相关联。
使用Iterators.jl
(有用,可靠的工具,开源且完全免费使用)来测试数据库中的查询。
CASE WHEN (table.id='123' AND table.user='alex')
THEN 1
ELSE 0
END AS alexexists
或更简单:
(table.id='123' AND table.user='alex') AS alexexists
这是有效的,因为TRUE在MySQL中显示为1,在FALSE中显示为0.
答案 1 :(得分:1)
这里也是一个建议 你也可以创建一个像
这样的查询Select (case when table.id='123' and table.user='alex' then false
when table.id!='alex' then false
else true End ) as alexexists
from table;