2017-08-23 5 views
-1

たとえば、私はテーブルを持っている:私はこの$info['columnName']で値を印刷していPHP MySQLの戻り列

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

ID | Nickname |  IP  | 
----------------------------------| 
1. | CustomNick | 127.0.0.1 | 
2. | NickCustom | 127.0.0.1 | 

は今、私はこのコードで情報を渡しています。そして、私のクエストは、どのように記録されたプレーヤーIDで確認できますか?彼はこのIPアドレスでもっと多くのアカウントを持っていますか?はいの場合、これらの口座ニックネームを印刷します。

たとえば、customNickにログインすると、CustomNickにはこのIP(NickCustom)のアカウントがもう1つあります。事前

+1

をゲットIPを入力し、テーブルで検索します。 –

答えて

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']));