我不知道该如何更好地描述我的问题。。。
我有一张这样的桌子:

    $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/

10-13 00:53