0

我正在创建自己的博客网站。我似乎无法弄清楚这两天有什么问题。我想要做的是从一个表中获取作者 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_name in... 我确定我已正确拼写字段名称。代码的第一部分没有任何问题。第二部分有什么问题吗?那里完全一样。

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 回答