MySQL JOIN not working



我正在尝试完成从一个表到另一个表的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);

然而,这并不奏效我要做的是选择所有搜索到的带有相关标签的帖子,然后将其输出给用户请帮帮我,我真的被卡住了

编辑:循环输出数据时

  $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);
  }

您的内部联接语法是不正确的

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

您需要将这两个表连接在一起,然后使用WHERE通过标记

进行筛选

最新更新