Php 在一个查询中使用And和Or

Php 在一个查询中使用And和Or,php,mysql,Php,Mysql,我想在MySQL中使用和,或一个查询 我该怎么做 我尝试了这个查询,但它没有给出我想要的结果。我做了一些搜索,有人说put()也不起作用 select * from tbl_staff where db_user='".$_SESSION['username']."' and db_status!='Done' and db_status!='Cancelled' or db_transfered='$name' 我试着用括号()表示和,就像我在这里读到的一些答案一样,但也不起作用。这个查询

我想在MySQL中使用
一个查询

我该怎么做

我尝试了这个查询,但它没有给出我想要的结果。我做了一些搜索,有人说put()也不起作用

select * from tbl_staff where db_user='".$_SESSION['username']."' and 
db_status!='Done' and db_status!='Cancelled' or db_transfered='$name'
我试着用括号
()
表示
,就像我在这里读到的一些答案一样,但也不起作用。这个查询还提供了“完成”和“取消”状态,这是我不想要的

像这样的想法我有一张桌子

username transfered status
00021    mhmd         done
00022    mhmd         Running
00021                 Running  
输出将是
最后两行仅表示用户00021名称mhmd有一个任务,第二个任务是从用户名00022传输给他的,这两行也应显示在00021中,而不显示已完成的任务-

Select * FROM tbl_staff WHERE db_status!='Done' AND db_status!='Cancelled' AND (db_user='".$_SESSION['username']."'  OR db_transfered='$name')

我不知道你到底想要什么,我想你的问题应该是

select * from tbl_staff where 
         db_user='".$_SESSION['username']."' AND 
         (db_status!='Done' AND db_status!='Cancelled') 
         AND db_transfered='$name';

WHERE
子句背后的逻辑是什么?从tbl_staff WHERE(db_user='“$_SESSION['username']”和db_status!='Done'和db_status!='Cancelled')或(db_transfered='name')中选择*@A不,对不起,没用请解释一下你的想法logic@TimBiegeleisen我想从tbl_员工中选择所有我想让所有人都有db_用户=$\u会话所有人都有db_转移=$名称,但没有人完成或取消status@rbr94对不起,这是个错误!!:(请勾选上面我做了一些解释请勾选上面我做了一些解释explain@mhmd很高兴帮助你。:):)