首页 文章

PHP或MySQL从标签表中获取所有行,而不仅仅是中间term_tags表所说的内容

提问于
浏览
1

我有3张 table :

  • 条款:(term_id ......)

  • tags:(tag_id,tag_name);和

  • term_tags(term_id,tag_id)

term_tags是一个中间表,分别对术语和标签表中的term_id和tag_id有几个外键约束 .

我试图使用下面的PHP代码拉出与给定术语id相关联的标签 .

<?php
    include('includes/config.php');
    $sql = "SELECT tag_name FROM tags JOIN term_tags WHERE term_id = ?";
    $stmt = $db->prepare($sql);
    if($stmt->execute(array($_GET['id']))){
        while($row = $stmt->fetch()){
            echo $row['tag_name'], "
"; } } ?>

所发生的是从标签表中获取所有行,我只想要与给定术语id相关联的标签 . 我不确定它是我的SQL语句还是我的PHP,PHP对我来说很好看,但我仍然有点新加入 .

一点帮助?

2 回答

  • 1

    您的SQL查询将如下所示:

    SELECT tag_name FROM tags INNER JOIN term_tags 
    ON tags.tag_id=term_tags.tag_id 
    WHERE term_id = ?
    
  • 1

    像这样使用内连接: -

    SELECT tag_name FROM tags inner JOIN term_tags on
    tags.tag_id=term_tags.tag_id WHERE term_id = ?
    

相关问题