$res = mysqli_query($GLOBALS["___mysqli_ston"], "SELECT * FROM users WHERE id=5");
while($row = mysqli_fetch_array($res)) {
$firstName = $row['firstName'];
$otherRes = mysqli_query($GLOBALS["___mysqli_ston"],
"SELECT * FROM othertable WHERE firstName='$firstName'");
while($row2 = mysqli_fetch_array($otherRes)) {
//SQL statements going off in here
}
}
我编写了上面的示例代码,以显示我使用SQL中另一个表中的数据访问表的方式。
我一直在用youtube学习我的PHP技能,我确信有一种更有效的方法来编写这个,在SQL中的表名和列名之间有点,但我无法弄清楚它应该如何写的。
有人可以告诉我他们如何以最好,最有效的方式编写上述代码吗?使用这种方法的真实代码已经开始使用大量数据,并且需要花费更长的时间来完成它。
谢谢!
答案 0 :(得分:0)
您可以使用联接
执行单个查询 SELECT *
FROM users
INNER JOIN othertable on othertable.firstName= users.firstname
WHERE user.id=5
(使用inner,只获得id = 5的用户具有相同名字的行)
答案 1 :(得分:0)
假设两个表之间存在链接,您通常会使用该公共列执行join
,如:
select * from othertable o
left outer join users u on u.userid=o.userid
where u.id=5
以上假设两个表中都有一个名为userid
的公共列