我正在开发一个异步游戏,但我对 MySQL 和 PHP 完全陌生。我有两个表,tb_users 和 tb_matches。第一个存储所有用户及其状态(例如,“状态”列中的值为 0 表示玩家处于待命状态,而值为 1 表示玩家正在等待对手进行比赛) .
tb_matches 表存储所有匹配项,包括活动和非活动(已完成)的匹配项。此表中有两列包含玩家 ID。
我要做的是搜索一个可用的对手,它必须满足这些要求:
1) 它在 tb_users 表中的状态必须为 1 2) 它不能与正在搜索新对手的用户进行有效匹配
我试过:
SELECT *
FROM tb_users
JOIN tb_matches
WHERE tb_users.status = "1"
AND tb_matches.player1 != '".$username."'
AND tb_matches.player2 != '".$username."'
..但它没有给我任何结果。此外,还应考虑到 tb_matches 表中可能根本没有匹配项。
有什么帮助吗?另外,有没有更好的方法来完成这项任务?