我試圖從兩個不同的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