如果启用了 CLIENT_MULTI_STATEMENTS 选项,我如何在执行多个查询时接收后续查询的结果?
我需要为每个执行的查询捕获错误。
如果启用了 CLIENT_MULTI_STATEMENTS 选项,我如何在执行多个查询时接收后续查询的结果?
我需要为每个执行的查询捕获错误。
如下所述mysqli_multi_query()
:
要从第一个查询中检索结果集,您可以使用
mysqli_use_result()
或mysqli_store_result()
。所有后续查询结果都可以使用mysqli_more_results()
和进行处理mysqli_next_result()
。
该手册页以示例继续:
/* execute multi query */
if (mysqli_multi_query($link, $query)) {
do {
/* store first result set */
if ($result = mysqli_store_result($link)) {
while ($row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}
/* print divider */
if (mysqli_more_results($link)) {
printf("-----------------\n");
}
} while (mysqli_next_result($link));
}