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

标签 php mysql sql pdo

你好谁能帮助我尝试使用 php 和 pdo 方法从数据库中获取所有用户数据

我有两个表,1 个表用于用户数据,2 个用于连接的用户 ID,

当用户 ID 退出 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'];
        }


      }

最佳答案

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

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

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

    return $row3;

关于php - 如何在 php pdo 中使用 2 个表获取 1 个表用户详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49916681/

相关文章:

sql - 从另一个表的 SELECT 语句更新表中的一行

mysql - mysql查询中如何从多条记录中获取记录总数

sql - 简单查询优化

PHP exec 在长时间执行后没有得到标准输出

php - 找不到类 'MongoClient'

mysql - 使用 CASE 语句可以简化使用两个 EXISTS 子句的代码吗?

php - 获取不同变量中相同 id 的多行

php - require_once() 和 autoloader - 如何加载平面 php?

php - 如何在yii2中实现单一搜索表单

php - 使用 css 在 php/styling 中分配类