MySQL查询从数据库中选择一个值等于两个不同事物之一的记录

Chr*_*ier 3 php mysql

我必须从MySQL DB获取记录,其中:

sentto = "$username"
Run Code Online (Sandbox Code Playgroud)

要么

sentto = "everyone"
Run Code Online (Sandbox Code Playgroud)

我如何将它放在MySQL查询中?我尝试了一些东西,但它们似乎没有起作用:

mysql_query("SELECT * 
             FROM pmessages 
             WHERE status='unread' 
                 AND sentto='$username' || sentto='everyone'");

mysql_query("SELECT * 
             FROM pmessages 
             WHERE status='unread' 
             AND sentto='$username' 
                 AND sentto='everyone'");
Run Code Online (Sandbox Code Playgroud)

我似乎很难过,如果有人知道如何以正确的方式做到这一点请告诉我.对我来说这是一个新的场景.谢谢!

The*_*TXI 6

SELECT * 
FROM pmmessages 
WHERE sentto = '$username' 
    OR sentto = 'everyone'
Run Code Online (Sandbox Code Playgroud)

根据您的新查询编辑 Chris:

SELECT * 
FROM pmessages 
WHERE status='unread' 
    AND sentto='$username' 
OR sentto='everyone' 
Run Code Online (Sandbox Code Playgroud)

你需要修改它,以便你的AND独立(它与你的OR相冲突).

把它改写成这个

SELECT * 
FROM pmessages 
WHERE status='unread' 
    AND 
        (sentto='$username' 
            OR sentto='everyone' )
Run Code Online (Sandbox Code Playgroud)