0

JOIN を使用して、「users」テーブルの「user_id」を「topics」テーブルの「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'] .

データがあるはずの場所に空白があります。何が間違っていますか? ありがとう。

4

1 に答える 1

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は列名 (または提供されている場合はエイリアス) ですが、テーブル名は含まれません。

于 2013-07-04T03:30:21.970 に答える