我不知道该如何更好地描述我的问题。。。
我有一张这样的桌子:
$sql = "CREATE TABLE games (
id INT(5) AUTO_INCREMENT PRIMARY KEY,
name VARCHAR (255),
player_1_id INT (3),
player_1_status BOOLEAN,
player_2_id INT (3),
player_2_status BOOLEAN,
player_3_id INT (3),
player_3_status BOOLEAN
)"
我需要一个查询,比如:
$stmt = $this->connection->prepare("
SELECT id, name, turn
FROM games
WHERE player_1_id = :value1
OR player_2_id = :value1
OR player_3_id = :value1
");
但另外,我想选择“player_x_status”列,这取决于找到的“player_x_id”等于:value1。
我真的不知道如何才能更好地描述我的问题,这里缺少术语。
有人能给我建议吗?
最佳答案
每次创建一个名为something_N
的字段时,您都可以确定自己做错了。
你要做的是另一个表来存储所有状态的玩家,比如
游戏id
玩家id
地位
你可以毫无问题地为任何玩家选择状态。
这就是关系数据库的工作原理。
关于php - PDO选择带有未知列的查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35540663/