2014-10-06 36 views
1

我想完成從一個表到另一個MySQL連接,但它不工作。理想情況下,我希望能夠使用預先準備好的語句(因爲它更安全),但現在我只是試圖使其正常工作。MySQL加入不工作

這裏是我的數據庫設置:

帖子:

id | title | text 

1 | Evening | Something here... 
2 | Trip away | Bets place to go... 

標籤:

post_id | tag 
1  | weather 
1  | Autumn 
2  | Holidays 

這是我嘗試迄今:

$tag = mysqli_real_escape_string($_GET['tag']); 
    $select = mysqli_query($mysqli, "SELECT posts.id, posts.title FROM posts INNER JOIN tags ON tags.tag = ".$tag); 

儘管如此,這並不工作。 我想要做的是選擇所有已經搜索過相關標籤的帖子,然後將其輸出給用戶。請幫助我真的堅持

編輯:While循環輸出的數據

$select = mysqli_query($mysqli, "SELECT posts.id, posts.title FROM posts INNER JOIN tags ON tags.post_id = posts.id WHERE tags.tag = ".$tag); 

    while($row = mysqli_fetch_array($select)) { 

    echo print_r($row); 

    } 

回答

3

你的內部聯接語法不正確

SELECT posts.id, posts.title 
FROM posts 
INNER JOIN tags ON tags.post_id = posts.id 
WHERE tags.tag = "some_tag_here" 

你需要兩個表連接在一起,然後使用WHERE按標籤過濾

+0

謝謝!這是讓查詢工作。我怎樣才能使用while循環輸出這個?我已經將我的嘗試添加到了此問題的編輯中。 – Harry 2014-10-06 19:52:35

+0

@Harry我會使用'mysql_fetch_assoc($ select)'類似於[** THIS POST **](http://stackoverflow.com/questions/14456529/mysqli-fetch-array-while-loop-columns) – 2014-10-06 19:56:03

+0

謝謝爲你的幫助約翰! – Harry 2014-10-06 20:02:32