php怎么去获得mysql有返回值有查询的存储过程
                        
                            时间:2021-07-01 10:21:17
                            帮助过:4人阅读
							                        
                     
                    
                    php如何去获得mysql有返回值有查询的存储过程
存储过程
create procedure a(out b int)
begin
     select 10;
     set b=3;
end;
PHP
$tsql .= "call a(@b);";
$tsql .= "select @b;";
if($mysqli->multi_query($tsql)) {
     if($result = $mysqli->store_result()) {
         while($row = $result->fetch_array()) {
             array_push($data['table'], $row);
         }
     }
     if($mysqli->more_results()){ // 判断还有没有结果集
         if($mysqli->next_result()) {
             if($result = $mysqli->store_result()) {
                 if($row = $result->fetch_row()) {
                     for($i = 0, $count = count($row); $i < $count; $i++) {
                          $data['output'][$i] = $row[$i];
                     }
                 }
             }
         }
     }
} else {
     echo "ERROR:", $mysqli->errno, "---", $mysqli->error;
}
print_r($data['output']);
没办法获取返回值 如果是不带返回值 直接select b的话 就可以 又或者存储过程里不要查询也可以
同时两个都有的话就无法得到返回值
这该如何解决
------解决方案--------------------
PHP code
 7 
 8 | '.$row["title"].'('.$row["page_time"].')'.'';
14                 echo $line;
15                 printf("\n");
16 
17         }
18         mysql_free_result($result);
19 ?>
20 
21 |