2013-07-04 38 views
0

我想用我的“用户”表中的“user_id”连接到我的“主题”表中的“topic_by”,我搜索并设置了以下代码。使用JOIN显示用户名ID

$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']。

数据应该是空白处,我做错了什么? 谢谢。

回答

3

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

试试这个:

$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数组中的键是列名(如果提供了别名),但不包含表名。

+0

谢谢,刚试过仍然没有输出,这部分是否正确 。 $ row ['users.user_name']。 ? – user2542256

+0

@ user2542256 - 使用上面的查询,您需要放置的是$ row ['user_name']'。 – Aiias

+0

谢谢,完美无缺:) – user2542256