我试图使用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/