php - MySQL JOIN 不工作

标签 php mysql sql

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

  }

最佳答案

你的内部连接语法不正确

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

您需要将两个表连接在一起,然后使用 WHERE 按标签进行过滤

关于php - MySQL JOIN 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26223705/

相关文章:

php - 如何使用 PHP 从多个列中选择最小值

php mysql 更新两个表/列

用于大型日志表的 MySQL 存储引擎

mysql - 将图中的路径编码为字符串?

sql - Stack Overflow 数据库 - 成对的用户系统地评论相同的帖子

javascript - 选择选项时调用 javascript 函数,但需要在选项本身内使用它

php - 如何在php和mysql中动态使用rowspan打印表中的数据?

java - 在 MySQL 中快速检索带有 GPS 坐标的 SELECT 语句

mysql - 这个 if/then 存储过程有什么问题?

java - groovy sql withbatch 的问题