0

我有 2 个名为的 mysql 表

  1. 博客

  2. 评论

我正在尝试 user_name comment_desc使用 blog_id 从评论表中检索以下列。

这两个表都有共同的 blog_id。

下面是两个sql表的截图

评论表: 评论表

博客表: 博客表

我以这种方式尝试了查询。

SELECT blog.blog_id, comment.user_name, comment.comment_desc 
    FROM 
        blog (b) 
    INNER JOIN 
        comment (c)
        ON b.blog_id = c.blog_id

我无权上传图片,这就是我上传到 photobucket 的原因。

PHP 代码....

<?php

                        $comments_set = blog_comments();
                        var_dump($comments_set);
                        while($comments_all = mysql_fetch_assoc($comments_set)){
                            $name = $comments_all['user_name'];
                            $desc = $comments_all['comment_desc'];
                            echo                    
                            "<ol class=\"commentlist clearfix\">

                                <li class=\"comment even thread-even depth-1\" id=\"li-comment-1\">

                                    <div id=\"comment-1\" class=\"comment-wrap clearfix\">

                                        <div class=\"comment-meta\">

                                            <div class=\"comment-author vcard\">

                                                <span class=\"comment-avatar clearfix\">
                                                <img alt='' src='http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=60' class='avatar avatar-60 photo avatar-default' height='60' width='60' /></span>

                                            </div>

                                        </div>

                                        <div class=\"comment-content clearfix\">

                                            <div class=\"comment-author\">$name<span><a href=\"#\" title=\"Permalink to this comment\">January 24, 2013 at 10:46 am</a> &middot; <a class='comment-reply-link' href=\"#\">Reply</a></span></div>

                                            <p>$desc</p>


                                        </div>

                                    </div>


                                </li>



                            </ol>
                            ";
                        }
                            ?>
4

4 回答 4

1

你需要user_namedesccomment表中blog_ig

为什么你需要加入这两张桌子呢?您可以通过博客 ID 从评论表中检索信息

select * from comments where blog_id='blog_id'

于 2013-05-08T11:24:25.647 回答
0

您正在使用别名,因此在SELECT声明时,请通过别名指定它。您需要删除别名周围的括号...

SELECT b.blog_id, c.user_name, c.comment_desc 
    FROM 
        blog b 
    INNER JOIN 
        comment c
        ON b.blog_id = c.blog_id
于 2013-05-08T11:29:52.687 回答
0

我认为您错误地定义了 blog_id 列。请检查列的数据类型和大小。加入表格时会失败。如果您可以粘贴错误,它将更有帮助

谢谢。

于 2013-05-08T11:31:49.960 回答
0

我认为您应该选择 Left Join,因为您可能希望无论是否有评论都可以显示博客。

SELECT b.blog_id, c.user_name, c.comment_desc 
    FROM 
        blog as b
    LEFT JOIN 
        comment as c
        ON b.blog_id = c.blog_id
于 2013-05-08T11:24:39.493 回答