谢谢阅读。
我正在尝试学习内部加入和加入。我的目的是比较如果用户创建的社区在 CommunityMembers 表中也被标记为管理员(我不确定 INNER JOIN 是否实现了这一点)并从 Community 表中获取与 CommunityID 相关的所有其他社区信息(这是可能的据我了解,内部连接)。
我有两张名为 Community 和 CommunityMembers 的表。
该结构用于社区(它有其他数据,如日期、内容等......):
CommunityID - Slug - CreatedByUser
1 - video - 2
2 - funny - 2
3 - picture - 4
社区成员
CmID - UserID - Slug - Power
1 - 2 - video - admin
2 - 2 - funny - admin
3 - 4 - picture - admin
我的php代码:( $_SESSION['UserID']
是2)
<?php
$sql = $dbc->prepare(" SELECT cm.*, com.*
FROM Community com
INNER JOIN CommunityMembers cm ON cm.UserID = com.CreatedByUser
WHERE cm.UserID = '" . $_SESSION['UserID'] . "'");
$sql->execute();
if($sql->rowCount()){
echo $sql->rowCount();
while($data = $sql->fetch()){
$output .= $data['Slug'] .'<br />';
}
echo $output;
}else{
$_ERROR = "no record";
}
?>
echo $output;
印刷
video
video
video
funny
funny
funny
并echo $sql->rowcount();
打印 6
你能帮忙吗?为什么这个打印同样的东西3次?我的解决方案是否有权检查用户是否创建社区在 CommunityMembers 中标记为管理员,还是我需要检查它?
谢谢。