MySQL 从表中获取数据并检查表行中是不是存在用户 ID
Posted
技术标签:
【中文标题】MySQL 从表中获取数据并检查表行中是不是存在用户 ID【英文标题】: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
但我想用这段代码它只需要一个用户标识而不是所有的列...
有人可以帮我解决这个问题吗? 谢谢
【问题讨论】:
【参考方案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)
这将获取会话表中的所有用户并拥有文章
【讨论】:
以上是关于MySQL 从表中获取数据并检查表行中是不是存在用户 ID的主要内容,如果未能解决你的问题,请参考以下文章