【问题标题】:MySQL get data from the table and check if userid is present in the table rowMySQL 从表中获取数据并检查表行中是否存在用户 ID
【发布时间】:2013-04-28 17:43:40
【问题描述】:

我有一个名为“session”的表,该表有一个名为“userid”的列。

表格示例:

ROW    userid
-------------
1      61
2      128
3      84

现在在我的网站上,我在一个页面上列出了所有文章,每篇文章都是由用户撰写的,每个用户都有自己的 userid

我想要实现的是:如果在 session 表中写文章 EXISTS 的用户(userid=X)显示文本..

这是我尝试从会话表中获取用户 ID 的方式 ->

SELECT userid FROM #session

但我想用这段代码它只需要一个用户标识而不是所有的列...

有人可以帮我解决这个问题吗? 谢谢

【问题讨论】:

    标签: php mysql sql joomla mysqli


    【解决方案1】:

    以下将从会话中选择所有用户 ID:

    SELECT userid FROM session
    

    ...这几乎正是您提到的代码。但是,您不需要获取用户 ID 的列表,您只需要查看表中是否存在某个 ID。所以,你要做的是计算用户 ID 是特定值的实例数,看起来像这样(在 php 中,使用 mysqli):

    function is_id_in_session($db, $userid) {
        $total_result = $db->query("SELECT COUNT(userid) FROM session WHERE userid = {$userid}");
        $total = $total_result->fetch_row();
        return ($total[0] > 0);
    }
    

    【讨论】:

      【解决方案2】:

      希望你也有文章的数据库表(table article with column userid),你可以在你的查询中使用内连接:

      Select userid FROM article 
      JOIN session using(userid)
      

      这将获取会话表中的所有用户并拥有文章

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多