使用JOIN从ID显示用户名

时间:2013-07-04 03:29:33

标签: php mysql select join

我正在尝试使用JOIN来连接“users”表中的“user_id”,并在我的“topic”表中使用“topic_by”,我搜索并设置以下代码。

$sql = "SELECT topics.topic_id, topics.topic_subject, topics.topic_date, topics.topic_cat, topics.topic_by
            FROM topics 
            INNER JOIN users ON topics.topic_by=users.user_id
            WHERE topics.topic_cat = " . mysql_real_escape_string($_GET['id']) . " ORDER BY topics.topic_date DESC;";

它没有返回任何错误,但是当我尝试调用user_name ..

。 $ row ['users.user_name']。

数据应该只是一个空白区域,我做错了什么? 感谢。

1 个答案:

答案 0 :(得分:3)

您未在user_name声明中选择SELECT列。

试试这个:

$sql = "SELECT topics.topic_id, topics.topic_subject, topics.topic_date, topics.topic_cat, topics.topic_by, users.user_name
  FROM topics 
  INNER JOIN users ON topics.topic_by=users.user_id
  WHERE topics.topic_cat = " . mysql_real_escape_string($_GET['id']) . " ORDER BY topics.topic_date DESC;";

要在$row数组中选择此列数据,您可以将其编写为:$row['user_name']$row数组中的键是列名(或别名,如果提供),但不包括表名。