0

私は自分のブログサイトを作成しています。私は2日間これの何が悪いのか理解できないようです。私がやろうとしているのは、テーブルから作成者IDを取得してから、別のテーブルから作成者情報を取得することです。

// Get post author
$post_id = $_GET["view"];
$post_row = mysql_fetch_assoc(mysql_query("SELECT post_author FROM posts WHERE post_id='$post_id'"));
$post_author = $post_row["post_author"];

// Get post author information
$author_row = mysql_fetch_assoc(mysql_query("SELECT id FROM users WHERE id='$post_author'"));
$author_username = $author_row["user_name"];
echo $author_username;

ただし、このエラーメッセージが表示されます。注意:未定義のインデックス:user_namein...フィールド名のスペルが正しいと確信しています。コードの最初の部分に問題はありません。2番目の部分はどのように問題になりますか?まったく同じです。

4

4 に答える 4

4

あなたがやる

SELECT id 

しかし、次に行を探しますuser_name。そこにないため、インデックスが存在しないという警告が表示されます。

于 2012-04-16T07:55:00.587 に答える
0

idクエリで列を選択していますが、使用してい$author_row["user_name"]ます。に変更するか、クエリで$author_row["id"]使用しますSELECT user_name

于 2012-04-16T07:56:00.697 に答える
0

データベースからフィールドのみを選択idしています。user_name選択していないためありません。

$author_row = mysql_fetch_assoc(mysql_query("SELECT id, user_name FROM users WHERE id='$post_author'"));

デバッグのヒント:print_r( $author_row )このような場合、クエリが実際に何を返すかを常に確認してください。この場合は該当しませんが、同様に重要なのはecho mysql_error()、クエリ自体にエラーがなかったことを確認することです。

于 2012-04-16T07:56:28.900 に答える
0
$author_row = mysql_fetch_assoc(mysql_query("SELECT * FROM users WHERE id='$post_author'"));

このクエリを使用して、ユーザーのすべての情報を取得します。

于 2012-04-16T07:58:58.817 に答える