关于PHP如何获取mysql 存储过程返回值

有如下代码:[code="php"] global $db;
$query1 = "call user_degree('test',@test);";
$db->query($query1);
$query2 = "select @test;";
$temp = $db->query($query2);
$rowset = array();
while($row = $db->fetch_array($temp,MYSQL_ASSOC))
{
array_push($rowset,$row);
}
print_r($rowset); //Array ( [0] => Array ( [@test] => 4 ) )
print_r($rowset[0][@test]); //return none[/code]
要获取mysql存储过程返回的@test的值,这里我已经知道了$rowset的值是为一个二维数组。
可是我用$row[0][@test]却始终的不到这里面的值——"4"
求解释,求指教,各种求……

$db=new mysqli("localhost","ssss","aaaaa","bbbb");     
mysqli_query($db,"SET NAMES utf8");                     
$result=$db->query("call gxtj($year,$jd)"); //  gxtj是mysql的存储过程名称


while( $row = $result->fetch_array(MYSQLI_ASSOC))  //完成从返回结果集中取出一行

  {      

       while ($key=key($row)){  //依次取得字段名
              $value=current($row); //依次取得字段值
       }
  }