我正在尝试使用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']。
数据应该只是一个空白区域,我做错了什么? 感谢。
答案 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
数组中的键是列名(或别名,如果提供),但不包括表名。