我试图从两个不同的mysql表中选择一切。我将一个名为“朋友”的数组打碎,这样我就可以从两个表中选择有关用户朋友的所有内容。最初我想在一个表上执行一个查询,然后在一个while循环中查询另一个表。但那并不奏效。如果你知道我的方式,我可以嵌套循环,然后请务必评论/回答这个问题。MySQL在同一个查询中从两个表中选择
这里是我的代码:
$friends = implode("','", $friends);
//implode the friends array for sql query
$sql = mysqli_query($con, "SELECT * FROM users, text_post WHERE username IN ('$friends')") or die(mysqli_error($con));
while ($row = mysqli_fetch_assoc($sql)) {
echo $row['last_name']. ' ' . $row['body'];
echo '<br><br>';
}
注:$row['last_name']
是从用户表和$row['body']
从TEXT_POST表。每当我运行我的代码时,我收到此错误Column 'username' in where clause is ambiguous
请帮助我。
UPDATE:
我改变了我的查询:$sql = mysqli_query($con, "SELECT * FROM users, text_post WHERE users.username IN ('$friends')") or die(mysqli_error($con));
,但现在它的回声是每场比赛两次:
帕克你好
帕克你好
西姆斯是什么了
simms what is up
个西姆斯下雨
西姆斯下雨
豪尔赫土豆
豪尔赫土豆
为什么这样做?
两个表中唯一相同的是用户名。
你的回答是最好的解释。谢谢你 – nitrous