Mysqli从两个不同的表中获取信息

时间:2012-12-04 02:50:09

标签: php database mysqli

我有两个不同的表,一个持有注释,另一个用户信息,我的第一个mysqli_prepare语句看起来像这样

    if($stmt = mysqli_prepare($mysqli, "SELECT text,username,id,likes,dislikes FROM post WHERE school = '$sname' ORDER BY id DESC LIMIT 0,10"))

,另一个看起来像这样

   if($stmts = mysqli_prepare($mysqli, "SELECT avatar FROM users WHERE username = '$user'"))

基本上我需要结合这两个语句,以便我可以在同一个while循环中访问这两个集合,看起来像这样

    while(mysqli_stmt_fetch($stmt))

任何帮助表示感谢,提前谢谢,我会投票。

2 个答案:

答案 0 :(得分:2)

对公共字段用户名

的JOIN操作
SELECT post.text,post.username,post.id,post.likes,post.dislikes FROM post 
INNER JOIN users 
ON post.username = users.username
WHERE post.school = '$sname' 
AND users.username = '$user'
ORDER BY post.id DESC LIMIT 0,10

答案 1 :(得分:1)

要使用SQL执行此操作,您需要使用JOIN组合查询。

做出一些假设,以下是一个例子:

SELECT ... FROM post JOIN users ON post.username = users.username WHERE ...

注意:另一种方法是将SELECT数据与PHP分开(如你所愿)和缝合数据。有时这比复杂的JOIN更受欢迎。但是,你所拥有的似乎很好。