我目前正在开发一个实时网站,需要在实施之前仔细检查我的代码。我不能在jsfiddle上这样做:(
我有两个变量:
$user_id (users user id - one only)
$job_id (an array of job ids that could number from 0 to numerous)
我需要做的是检查数据库中是否有与job_id
和user_id
匹配的entires。如果没有匹配,那么我需要返回不匹配的每个job_id
:
$job_id=join(',',$job_id);
$query="SELECT job_id FROM table WHERE job_id NOT IN('$job_id') AND user_id='$user_id'";
....do myslqi query etc
while($row=mysqli_fetch_array($result))
{
$no_match[]=$row['job_id'];
}
我不是100%确定这是否会返回没有相关user_id的job_id。我的同事建议循环遍历每个job_id并对每个job_id执行单独的查询,但这对我来说听起来真的很糟糕。
我也有兴趣找到任何资源来快速测试远离实时网站的mysql查询 - 链接将不胜感激:)
答案 0 :(得分:0)
此查询返回的行没有您指定的作业ID,但具有user_id,
$query="SELECT job_id FROM table WHERE job_id NOT IN('$job_id') AND user_id='$user_id'";
如果您想要没有用户ID的作业ID,请使用。
$query="SELECT job_id FROM table WHERE job_id IN('$job_id') AND user_id!='$user_id'";
答案 1 :(得分:0)
我认为这可以在一个查询中完成:
SELECT job_id
FROM table
WHERE user_id = '$user_id'
AND NOT EXISTS
(SELECT *
FROM table
WHERE user_id = '$user_id'
AND job_id IN ($job_id))