我有两个不同的表,一个持有注释,另一个用户信息,我的第一个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))
任何帮助表示感谢,提前谢谢,我会投票。
答案 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
更受欢迎。但是,你所拥有的似乎很好。