【问题标题】:SELECT Data from Two Separate Tables从两个单独的表中选择数据
【发布时间】:2014-01-06 00:36:49
【问题描述】:

我有两个单独的表。我需要从 user 表中选择 avatar,其中用户名在 cmets 表上等于 from。我正在尝试创建一个评论系统,在他们的消息旁边显示用户的头像。

评论 - ID|用户名|发件人|时间戳|消息
用户 - ID|用户名|头像

$fetchto=mysql_fetch_object(mysql_query("SELECT * FROM user WHERE username='$variable'"));

如果我有一个变量可以从用户表中提取发表评论的成员的头像,我想我可以使用 $fetchto->avatar 显示头像的 URL。

【问题讨论】:

    标签: php mysql select


    【解决方案1】:

    首先你的数据库不是properly normalized。 cmets 应通过UserId 引用User,而不是Username。一旦你解决了这个问题:

    select * from Comments c
    join User u on u.ID = c.UserId
    

    在那之前:

    select * from Comments c
    join User u on u.UserName = c.UserName
    

    另外,请停止使用 mysql_ 系列函数 - they're deprecated

    【讨论】:

      【解决方案2】:

      您的查询需要有一个简单的连接,如下所示:

      SELECT c.*, u.avatar
      FROM comments AS c
      JOIN user AS u ON c.username = a.username
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-22
        • 2013-02-13
        • 2012-12-28
        相关资源
        最近更新 更多