【问题标题】:How to use join properly when i want to get a specific row in another column当我想在另一列中获取特定行时如何正确使用连接
【发布时间】:2018-12-01 08:52:45
【问题描述】:

我有两列,一列是 (users),另一列是 (user_messages)。 现在,我想只获取其中名称为“未读”的用户(user_messages)。

$user="select * from users LEFT OUTER JOIN user_messages.msg_seen='unreaden' ON users.id=user_messages.m_id";

然后在 mysqli num_rows 的帮助下计算它们并将它们的数量放在 brauser 中的用户名旁边。在我检查查询后,它给了我布尔值(假)。我认为问题出在查询上。你能检查我的连接代码是否有错误吗?

【问题讨论】:

    标签: php mysqli backend


    【解决方案1】:

    一个简单的解决方案应该如下所示。

    $link = mysqli_connect("localhost", "my_user", "my_password", "world");
    
    $query = "select users.name as user_name, count(user_messages.id) as no_of_unread_messages "
            ." from users LEFT OUTER JOIN user_messages ON ( users.id = user_messages.user_id AND user_messages.msg_seen='unreaden')";
    
    if ($result = mysqli_query($link, $query)) {
    
        while ($row = mysqli_fetch_assoc($result)) {
    
            echo $row["user_name"]." ". $row["no_of_unread_messages"];
    
        }
    
        mysqli_free_result($result);
    }
    

    【讨论】:

      猜你喜欢
      • 2021-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多