如何在php pdo中使用2表获取1个表用户详细信息?

时间:2018-04-19 08:49:12

标签: php mysql sql pdo

任何人都可以帮助我尝试使用php和pdo方法从数据库中获取所有用户数据

我有两个表1表用于用户数据,2表用于连接用户id' s,

我希望只有当用户在2表格中退出时才会获取已连接的用户个人资料。

首先我检查了2个表是否有用户ID。例如,一个用户连接到其他2个用户,我得到了用户id并且内爆到了数组中。然后我常常检查1个表Where In (:usid),但只提取一个用户详细信息

如何使用2数据库

获取所有详细信息
    public function usrconnectedall(){
        $bngusername2 = $_SESSION['bngusername'];
        $this->query("SELECT * FROM bng_users WHERE bng_username=:bngusername2");
        $this->bind(":bngusername2", $bngusername2);
        $row = $this->getSingleRow();

        //First Method (Requested) user profile id
        $bngrequesteduserid = $row['id'];

        $this->query("SELECT * FROM bng_connect WHERE bng_requesteduser_id=:bngrequesteduserid");
        $this->bind(":bngrequesteduserid", $bngrequesteduserid);
        $row2 = $this->resultSet();

        foreach ($row2 as $k) {
          $test[] = $k['bng_connecteduser_id'];
        }
        $usid = implode(',', $test);


        $this->query("SELECT * FROM bng_users WHERE id IN (:usid)");
        $this->bind(":usid", $usid);
        $row3 = $this->resultSet();

        foreach ($row3 as $a){
           echo $a['bng_username'];
        }


      }

1 个答案:

答案 0 :(得分:0)

这是我找到的答案。现在能够获取用户数据

$usid = implode(',', $test);

    $this->query("SELECT * FROM bng_users WHERE  FIND_IN_SET (id, :usid)");
    $this->bind(':usid', $usid);
    $row3 = $this->resultSet();

    return $row3;