3

我有两张桌子,一张叫posts,一张叫users。在里面posts我有几列,一列是userid. 在我的users表中,我有几列,包括 auserid和 a 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'];始终只是第一个用户。

4

2 回答 2

9

您需要使用数组来获取其他行,然后遍历该数组。

$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 />";
}
于 2012-05-07T15:53:22.203 回答
0

对于 SELECT 和其他返回结果集的语句,mysql_query() 成功时返回资源,错误时返回 FALSE。

资源是一个特殊的变量,持有对外部资源的引用。资源是由特殊的函数创建和使用的,它可以有多种不同的函数创建和使用的类型。

对于 mysql_query(),返回的资源类型是“ mysql result ”,它将被 mysql_fetch_array() 使用;

我会给你另一个例子,对于函数 mysql_connect() 它返回一个资源类型“ mysql link ”,它可以被函数 mysql_query() 使用

于 2012-05-07T17:33:33.387 回答