PHP实现users与roles表关联匹配显示rolename的方法求助
关联users与roles表显示角色名称的实现
你需要修改SQL查询语句,通过INNER JOIN关联users表和roles表,匹配两个表的role字段,同时查询出roles表的rolename字段。修改后的完整代码如下:
<?php if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // 关联两张表,查询需要的字段 $sql = "SELECT users.*, roles.rolename FROM users INNER JOIN roles ON users.role = roles.role"; $result = $conn->query($sql); if (!$result) { die("Invalid query: " . $conn->error); } while($row = $result->fetch_assoc()) { echo "<tr> <td>" . $row["rolename"] . "</td> </tr>"; } ?>
关键说明:
INNER JOIN roles ON users.role = roles.role:这部分是核心关联逻辑,只返回users表中role字段与roles表中role字段匹配的记录SELECT users.*, roles.rolename:查询users表的所有字段,同时获取roles表的rolename字段,循环时直接通过$row["rolename"]输出角色名称- 如果不需要users表的全部字段,可将
users.*替换为具体字段(比如users.id, users.username),能提升查询效率
内容的提问来源于stack exchange,提问作者Hendrikus
相关产品推荐
相关产品推荐

