我得到了这段代码:
// Some starting variables
$test = new mysqli("localhost","root","","testdatabase");
$Query = array();
$Query[] = "SELECT 'wos' FROM items WHERE itemID = 3";
$Query[] = "SELECT 'wos' FROM items WHERE itemID";
$Query[] = "SELECT 'wos' FROM items WHERE itemID = 5";
$Query = implode(";",$Query);
$Errors = array();
// Execute multi query
if ($test->multi_query($Query)) {
do {
// fetch results
$Result = $test->store_result();
print_r($Result);
if($test->errno === 0) {
echo $Result->num_rows . "<br>";
}
else {
$Errors[] = $test->error;
}
$Result->close();
if (!$test->more_results()) {
break;
}
if (!$test->next_result()) {
$Errors[] = $test->error;
break;
}
} while (true);
}
您可以看到,我有许多X个后续查询,并希望执行它们所有。因此,如果查询2失败,我希望继续进行多查询,以便运行以下查询。我该怎么做?
另外,如果发生错误,我想将此错误保存在$Errors
中。但是,目前它并没有按预期工作,因为我只能保存错误消息,而无法保存相应的查询。仅有错误消息并不真正有用,没有失败的查询。所以我想要像这样的东西:"Query 3 failed ('SELECT ...'): 'ERROR MESSAGE'"
。
这可能吗?我能够使用$test->error
在循环中获取当前错误,但我没有像$test->currentsubsequentquery
这样的任何内容。我该怎么做?