如果启用了CLIENT_MULTI_STATEMENTS选项,如何在执行多个查询时收到后续查询的结果?
我需要捕获每个执行查询的错误。
答案 0 :(得分:1)
正如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));
}