我想选择值1
且ID等于1
的列名称。我怎样才能做到这一点?
例如,如果行中存在1
,我将如何选择列名?我想要实现的预期最终结果(假设我选择了ID 1
)将是Allowed_2
和Allowed_3
。
以下是我在最后一段中谈到的表格: http://i.stack.imgur.com/PL8Jr.png
答案 0 :(得分:0)
通常不需要从数据库中检索列名,而是希望处理表中的值。列名称只是标识符,因此您可以链接代码和数据库,但除此之外,它们不包含任何含义。
因此,对于您的示例,如果您想知道允许标识为1
的用户的内容,您可以执行以下查询:
SELECT Allowed_2, Allowed_3 FROM tableName WHERE id = 1
然后像这样使用它(PHP中的示例):
// database connection, query, etc.
$row = $result->fetch_assoc();
if ($row['Allowed_2'] === '1') {
echo 'user can do action 2';
}
if ($row['Allowed_3'] === '1') {
echo 'user can do this';
}
如果您的游戏变得越来越复杂,拥有更多用户,请考虑引入角色(例如管理员,用户,游戏管理员等)。您可能有一个名为role
的表,它有一个id,一个名称,然后是不同的Allowed_X
列。然后,您可以将每个用户映射到一个或多个角色,并以这种方式管理它们,这使得管理用户变得更加容易。