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

Php Mysqli从两个不同的表中获取信息,php,database,mysqli,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, "SEL

我有两个不同的表,一个保存注释,另一个保存用户信息。我的第一个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(mysqli_stmt_fetch($stmt))
基本上我需要合并这两个语句,这样我就可以在同一个while循环中访问这两个集合,如下所示

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

感谢您的帮助,我将投票支持。

若要使用SQL进行此操作,您需要使用组合查询

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

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

注意:另一种方法是
选择
将数据分开(如您所做),然后用PHP将数据缝合在一起。有时这比复杂的
连接更可取。不过,您所拥有的似乎很好。

在公共字段用户名上加入操作

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

username字段在这两个表中不是很常见吗?哦,是的,您是对的,那么使用join操作符的查询语句会是什么样子呢?我对您的模式了解不够,无法正确编写
WHERE
子句。但是你应该能够合并它们。请确保对您的专栏(例如users.username)进行限定。谢谢,但如果有两种不同的WHERE语句呢?我知道这是很久以前的事了,但这确实帮助了我加入mysqli,非常感谢!