使用php从表中选择*,其中2个条目必须匹配

时间:2016-08-26 20:00:03

标签: php mysqli

我想要的是能够从bout x = x和y = y的表中选择全部, 如果x = y且y = y我不想要数。很多2个条目,其中必须匹配。我知道SELECT * FROM 'messages' WHERE read = '0', id = $id;,但是在id = $idread = '0'选择了哪一行?

这一点的重点是显示特定用户已经收到但尚未打开的x条消息,这可能是更好的方法,但这是我到目前为止所做的:

<?php
    $id = htmlentities($_SESSION['user']['id'], ENT_QUOTES, 'UTF-8');
    $db = mysqli_connect("localhost", "root", "password", "database") or die ("Could not connect to database");

    $inboxquery = mysqli_query ($db, "SELECT * FROM message WHERE to_id='$id'");
        while($row = mysqli_fetch_array($inboxquery, MYSQLI_ASSOC)){
            $to_id = $row['to_id'];
            $read = $row['read'];
        }


    $x = mysqli_num_rows($result)

    if($x == >0){
        echo"<span>".$value." <a class='a' href='/Inbox'> Inbox</span>";
    }else{
        echo"<span><i class='fa fa-inbox'></i></span> <a class='a' href='/Inbox'> Inbox";
    }
?>

2 个答案:

答案 0 :(得分:1)

我不确定我是否完全理解这个问题,但假设读取列中的未读消息为零,这应该有效..

$inboxquery = mysqli_query ($db, "SELECT * FROM message WHERE read = 0 AND to_id='$id'");

答案 1 :(得分:0)

不确定我是否正确理解您的问题,但如果您想要显示read = 0或id = id的行(因此显示两行中都有其中一行),只需使用OR:

SELECT * FROM message WHERE to_id = '$id' OR read = 0