例如我有桌子:
ID | Nickname | IP |
----------------------------------|
1. | CustomNick | 127.0.0.1 |
2. | NickCustom | 127.0.0.1 |
现在我通过这段代码传递信息:
$stmt = $this->db->prepare("SELECT * FROM players WHERE Nickname = ?");
$stmt->execute(array($_SESSION['player_session']));
$playerInfo = $stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() > 0) :
return $playerInfo;
endif;
我使用此$info['columnName']
打印价值。我的问题是,如何通过记录的玩家ID进行检查,他是否拥有此IP地址的更多帐户?如果是,请打印这些帐户昵称
例如,如果我登录customNick
,则输出:CustomNick还有一个具有此IP的帐户(NickCustom)。对不起,我的英语不好,并提前致谢
答案 0 :(得分:2)
这是你的解决方案..
方法1:子查询
$stmt = $this->db->prepare("SELECT * FROM players WHERE IP = (SELECT IP FROM players WHERE Nickname = ?)");
$stmt->execute(array($_SESSION['player_session']));
方法2:加入
$stmt = $this->db->prepare("SELECT * FROM players p1 INNER JOIN players p2 ON p1.IP = p2.IP WHERE p1.Nickname = ?");
$stmt->execute(array($_SESSION['player_session']));