gnefgnehz
2011-03-20 13:21
浏览 326
已采纳

关于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"
求解释,求指教,各种求……

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • deepfuture 2011-03-20 13:49
    已采纳
    $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); //依次取得字段值
           }
      }   
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题