将一个 MySQL 函数中的值用于第二个函数


using values from one mysql function for a second function

我正在尝试查询我的数据库并创建值以供以后在另一个函数中使用。 我的第一个函数 (get_users()) 应该查询请求数据库并找到针对特定global_id列出的所有用户 - 此查询始终最多有 4 个用户。 然后我想使用第二个函数 (get_results()) 并将从第一个函数 (get_users()) 检索到的值插入到第二个函数中。 换句话说,我需要将 users1,2,3,4 放入第二个函数中的 get_results($user 1、$user 2、$user 3、$user 4) 中。

希望有人能帮忙! 以下是我的函数:

        function get_users($global_id)
    {
        $result = mysql_query("SELECT user_purchased FROM requests WHERE global_id = '$global_id'");
        $row = mysql_fetch_row($result);
        $user1 = $row[0];
        $user2 = $row[0];
        $user3 = $row[0];
        $user4 = $row[0];
    }
    function get_results($user1, $user2, $user3, $user4)
    {
        $result = mysql_query("SELECT * FROM results WHERE username != '$user1'
        AND username != '$user2'
        AND username != '$user3'
        AND username != '$user4'
        ORDER BY distance");
        ...more stuff to do here with the query
    }

谢谢

调用第一个函数中的第二个函数:

function get_users($global_id)
    {
        $result = mysql_query("SELECT user_purchased FROM requests WHERE global_id = '$global_id'");
$count = 0;        
while($row = mysql_fetch_array($result))
        {
        $user[$count] = $row;
        $count++;
        }
    get_results($user[0],$user[1],$user[2],$user[3]);
    }
    function get_results($user1, $user2, $user3, $user4)
    {
        $result = mysql_query("SELECT * FROM results WHERE username != '$user1'
        AND username != '$user2'
        AND username != '$user3'
        AND username != '$user4'
        ORDER BY distance");
        ...more stuff to do here with the query
    }

您甚至可以简化get_results函数,将一个变量作为数组而不是 4 个变量

function get_results($users)
        {
            $result = mysql_query("SELECT * FROM results WHERE username != '".$users[0]."'
            AND username != '".$users[1]."'
            AND username != '".$users[2]."'
            AND username != '".$users[3]."'
            ORDER BY distance");
            ...more stuff to do here with the query
        }

你应该在第一个函数中这样称呼它

get_results($users);

将值作为参数发送到另一个函数。

function get_users($global_id)
{
    $result = mysql_query("SELECT user_purchased FROM requests WHERE global_id = '$global_id'");
    $row = mysql_fetch_row($result);
    $user1 = $row[0];
    $user2 = $row[0];
    $user3 = $row[0];
    $user4 = $row[0];
    //now send
   get_results($user1, $user2, $user3, $user4);
}