2013-07-04 63 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