函数未按预期返回数据

I've got a function that should return me a set of links based on an user id. What the function does momentarily is that it returns me just one link instead a set of links based on an user id. The function looks like this:

function retrieve_image_link($user_id)
{   
    $query  = mysql_query("SELECT `image_link` FROM `imgit_images` WHERE user_id = '" . intval($user_id) . "'");

    while ($row = mysql_fetch_assoc($query))
    {
        $link = $row['image_link'] . '<br />';  
    }
    mysql_free_result($query);

    return $link;
}

So this is the code that should get me multiple links instead of just one. Where is the problem that the query returns a string instead of an array?

Please help!

you need to apply links to an array like $array[] = "link";

function retrieve_image_link($user_id)
{   
    $query  = mysql_query("SELECT `image_link` FROM `imgit_images` WHERE user_id = '" . intval($user_id) . "'");

    while ($row = mysql_fetch_assoc($query))
    {
        //add bracktes  to $link to return an array
        $link[] = $row['image_link'] . '<br />';  
    }   
    mysql_free_result($query);

    return $link;
}

or use .= opperator if you want all the links in one big string

function retrieve_image_link($user_id)
{   
    $query  = mysql_query("SELECT `image_link` FROM `imgit_images` WHERE user_id = '" . intval($user_id) . "'");

    while ($row = mysql_fetch_assoc($query))
    {
        //add . to = to append string to $link
        $link  .= $row['image_link'] . '<br />';  
    }   
    mysql_free_result($query);

    return $link;
}

It seems the problem is here

$link = $row['image_link'] . '<br />'; 

At the end of the loop, $link should have last value instead of all the values. You have to append each link or create an array to push each link.

$link = $row['image_link'] . '<br />';

You're overwriting the value of $link in the loop. Add [] to make it an array:

function retrieve_image_link($user_id)
{   
    $query  = mysql_query("SELECT `image_link` FROM `imgit_images` WHERE user_id = '" . intval($user_id) . "'");

    $link = array( );
    while ($row = mysql_fetch_assoc($query))
    {
    $link[] = $row['image_link'] . '<br />';  
    }
    mysql_free_result($query);

    return $link;
}

use .=

function retrieve_image_link($user_id)
{   
    $query  = mysql_query("SELECT `image_link` FROM `imgit_images` WHERE user_id = '" . intval($user_id) . "'");

    while ($row = mysql_fetch_assoc($query))
    {
        $link .= $row['image_link'] . '<br />';  
    }
    mysql_free_result($query);

    return $link;
}