我通过谷歌搜索了很多关于这个但没有任何答案可以帮助我 - 或者我自己找不到解决方案。
这是我的问题:我执行了一个大型的 multi_query(大约 50 多个后续查询)。如果我确实理解手册正确,我必须释放 a 的结果,multi_query()
因为对于每个后续查询,php 解释器将返回至少一个“ok”作为结果或类似的东西 - 我必须先释放它。这是正确的还是我在这里理解错误?
我目前正在尝试这样做以释放multi_query
结果:
$Result = $this->Connect->multi_query($Query);
if($Result !== false) {
// Query was ok - got result
while ($this->Connect->more_results() && $this->Connect->next_result());
}
else {
// If the query failed
$this->Valid = false;
array_push($this->SQLErrors,$this->Connect->error);
return false;
}
这是正确的,如果是 - 为什么?如果我只使用while($this->Connect->next_result())
它会给我带来类似"Strict Standards: there is no next result set"
.
如何捕捉错误?通过执行multi_query
50 个后续小查询,我希望能够拥有类似的东西$ErrorStack[3] = "Mysql Error: ..."
;这意味着我的第三个后续查询失败。我该怎么做呢?