PHP中关于存储过程结果集的问题
PHP4中,对有单结果集的存储过程,该如何输出:
存储过程代码如下:
BEGIN
select * from t1 ;
END
PHP5中,对有多结果集的存储过程,该如何输出:
存储过程代码如下:
BEGIN
select * from t1 ;
select * from t2 ;
select * from t3 ;
END
或者更改存储过程来实现我的需求即可(因为游标的速度问题,最好不用游标)。
谢谢!
附:
在php5中对单结果集的调用方法:
<?
print_r(getData5("call p3()"));
function getData5($con)
{
$dblink=$link = mysqli_connect($host, $user , $password , $db );
$results=mysqli_query($dblink,$con);
$data = array();
$allcount = mysqli_num_rows($results);
for ($count=0;$count<$allcount;$count++)
{
$data[$count] = mysqli_fetch_array($results,MYSQL_ASSOC);
}
mysqli_close($dblink);
return $data;
}
?>
以上只是事例,判断并不严格,当存在结果集时,不会出问题。
但是,当调用拥有多个结果集的存储过程时,只能显示第一个结果集的信息。
忘各位帮忙解释下。