提问人:Jeff 提问时间:10/5/2023 更新时间:10/5/2023 访问量:34
存储过程返回多个结果集 [duplicate]
Stored procedure returns multiple resultset [duplicate]
问:
我有一个返回 3 个结果集的存储过程。
当我使用 MySQL 工作台测试我的程序时,它给了我 3 个结果。
但是,当我使用 php 调用该过程时,我只得到 3 个结果中的第一个。请参阅下面的代码
$sql = "call myproc();";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result)){
echo '<pre>'; print_r($row); echo '</pre>';
}
我已经研究了mysqli_next_result功能,但无法让它给我其他 2 个结果。
感谢您的帮助。
答:
-1赞
Jeff
10/5/2023
#1
这是最终解决我问题的代码。
$sql = "call myproc();";
mysqli_multi_query($con, $sql);
do {
if ($result = mysqli_store_result($con)) {
while ($row = mysqli_fetch_row($result)) {
echo '<pre>'; print_r($row); echo '</pre>';
}
if (mysqli_more_results($con)) {
printf("-----------------\n");
}
}
} while (mysqli_more_results($con) && mysqli_next_result($con));
感谢大家对此的帮助。
评论