我不确定如何更好地描述我在主题中的问题...
我有一个看起来像这样的表:
$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
的字段时,您可以确定您做错了。
你要做的是另一个表来存储所有球员的状态,比如
- 游戏编号
- 玩家编号
- 状态
您将能够毫无问题地为任何玩家选择状态。
这就是关系数据库的工作方式。
关于php - PDO 选择具有未知列的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35540663/