如何使用 mysqli::multi_query 获取错误消息?

mpe*_*pen 3 php mysqli

这就是我正在尝试的:

if($mysqli->multi_query(file_get_contents('file_that_contains_a_bunch_of.sql'))) {
    do {
        $result = $mysqli->use_result();
        if($mysqli->errno === 0) {
            echo $mysqli->affected_rows.' row(s) affected'.PHP_EOL;
        } else {
            die($mysqli->error);
        }
    } while($mysqli->next_result());
}
Run Code Online (Sandbox Code Playgroud)

但它会提前中止循环并且不会打印错误消息。我如何找出错误是什么?

mpe*_*pen 6

彼得删除了他的答案,但它暗示了问题所在。我必须将错误检查放在循环之外。

在所有内容下面,我需要写

if($mysqli->errno) die($mysqli->error)
Run Code Online (Sandbox Code Playgroud)

如果下一个next_result查询出现错误,该函数将返回 false ,因此它甚至不会进入循环体。