这就是我正在尝试的:
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)
但它会提前中止循环并且不会打印错误消息。我如何找出错误是什么?
彼得删除了他的答案,但它暗示了问题所在。我必须将错误检查放在循环之外。
在所有内容下面,我需要写
if($mysqli->errno) die($mysqli->error)
Run Code Online (Sandbox Code Playgroud)
如果下一个next_result查询出现错误,该函数将返回 false ,因此它甚至不会进入循环体。