数据阵列无法正常工作?

时间:2014-05-10 14:43:03

标签: php html mysql

这个代码有一些问题,我试图从我的数据库中获取完整的信息列表,其中user2等于登录用户,状态为“1”。例如,这是我的数据库:

user1: 76, 11, 11, 87
user2: 11, 22, 15, 11
status: 1, 1, 1, 1

这是我的php代码:

<?
$user_id = $_SESSION['userid'];

$data = mysql_query("
    SELECT 
        user1 
    FROM 
        friend_requests 
    WHERE 
        user2 = '$user_id' 
    AND 
        status = '1'
") or die(mysql_error());  

$friend_list = mysql_fetch_array( $data );
foreach($friend_list as $friend_list) {
    echo $friend_list, '<br>';
}
?>

此代码仅显示数字“76”,因为它是第一个数字,等于数据库中的选择(以“11”身份登录)。但是,相同情况下的数字“87”没有显示?另外,它不会让我显示“状态”?任何想法如何让这个工作?我是这样的新手。谢谢!

P.S我知道MySQL已经过时了,但目前我无能为力。

2 个答案:

答案 0 :(得分:0)

试试这个

<?
    $user_id = $_SESSION['userid'];

    $data = mysql_query("
        SELECT 
            user1,status
        FROM 
            friend_requests 
        WHERE 
            user2 = '$user_id' 
        AND 
            status = '1'
    ") or die(mysql_error());  

    while($friend_list = mysql_fetch_array( $data ))//added this
    {

        echo $friend_list[¨user1¨].$friend_list[¨status¨].'<br>';

    }
    ?>

答案 1 :(得分:0)

在您的代码中,您只获取一行数据。那是因为mysql_fetch_array只获取一个&#34;行&#34;来自结果集:

$friend_list = mysql_fetch_array( $data );

这就是为什么你的foreach只获得一行,然后解开它。 如果您想获得完整列表获取数据,请执行以下操作:

while($friend_list = mysql_fetch_array( $data )) {
    echo $friend_list, '<br>';
}

在这种情况下,循环将获取行,而不会有要获取的数据。