MySQL从表中获取数据并检查表行中是否存在userid

时间:2013-04-28 17:43:40

标签: php mysql sql joomla mysqli

我有一个名为“会话”的表格,该表格中有一个名为“ userid ”的列。

表格示例:

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

现在,在我的网站上,我的文章全部列在一个页面上,每篇文章都是由用户编写的,而每个用户都拥有自己的用户ID

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

以下是我尝试从会话表中获取用户ID的方法 - >

SELECT userid FROM #session

但是我猜这个代码只需要列中的一个用户ID而不是所有这些...

有人可以帮我一把吗? 谢谢

2 个答案:

答案 0 :(得分:0)

希望您还有文章的数据库表(带有列userid的表文章),您可以在查询中使用内部联接:

Select userid FROM article 
JOIN session using(userid)

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

答案 1 :(得分:0)

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

SELECT userid FROM session

...这几乎就是你提到的代码。但是,您不需要获取用户标识列表,只需要查看表中是否存在某个标识。所以,你要做的是你计算用户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);
}