我有两个表,一个名为posts
,另一个名为users
。在posts
里面我有几列,一列是userid
的外键。在我的users
表中,我有几列,包括userid
和username
。我想使用posts.userid
查找users.userid
并显示users.username
。目前我正在使用:
SELECT posts.postid, posts.title, posts.text, posts.link, posts.good, posts.bad, posts.userid
FROM posts
获取有关每个帖子的数据,
SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid
获取有关每个用户的数据,但是当我这样做时,echo $row_therealuserid['username'];
的输出始终只是第一个用户。
答案 0 :(得分:7)
您需要使用array to fetch the other rows,然后遍历该数组。
$query = 'SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid';
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo $row['username'];
echo "<br />";
}
答案 1 :(得分:0)
对于返回结果集的SELECT和其他语句,mysql_query()在成功时返回资源,如果出错则返回FALSE。
资源是一个特殊变量,包含对外部资源的引用。资源由特殊函数创建和使用,它可以由不同的函数创建和使用许多类型。
对于mysql_query(),返回的类型是一个资源是“ mysql result ”,它将由mysql_fetch_array();
使用我将再举一个例子,对于函数mysql_connect(),它返回一个资源类型“ mysql link ”,它可以被函数mysql_query()
使用