1

我有两个不同的表,一个包含评论,另一个用户信息我的第一个 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))

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

4

2 回答 2

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
于 2012-12-04T03:05:14.410 回答
1

要使用 SQL 执行此操作,您需要使用JOIN.

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

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

注意:另一种方法是将SELECT数据分开(如您所愿)并将数据与 PHP拼接在一起。有时这比复杂的JOIN. 但是,您所拥有的似乎还不错。

于 2012-12-04T02:54:39.413 回答