我试图使用JOIN将“用户”表中的“ user_id”与“主题”表中的“ 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']。

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

最佳答案

您没有在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数组中的键是列名(或别名,如果提供的话),但不包括表名。

关于php - 使用JOIN显示ID中的用户名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17461401/

10-12 16:42