Php Mysqli从两个不同的表中获取信息
我有两个不同的表,一个保存注释,另一个保存用户信息。我的第一个mysqli_prepare语句如下所示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
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,非常感谢!