【发布时间】:2018-04-19 08:49:11
【问题描述】:
您好,任何人都可以帮助我尝试使用 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'];
}
}
【问题讨论】:
-
使用
JOIN从多个相互关联的表中获取数据 -
SELECT * FROM bng_connect INNER JOIN bng_users ON id = bngrequesteduserid;这就是你要找的……? -
首先使用用户名获取数据,获取连接的用户 ID,基于数组中的用户 ID 内爆。基于内爆数据,我需要在第一个表中搜索用户数据,我不想加入他们。