我通过谷歌搜索了很多相关内容,但没有任何答案可以帮助我 - 或者我自己找不到解决方案。
这是我的问题:我有一个很大的multi_query(大约50多个后续查询),我执行它。如果我理解手册正确,我必须释放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"
等错误。
如何捕获错误?通过执行50个后续小查询中的multi_query
,我希望能够拥有$ErrorStack[3] = "Mysql Error: ..."
之类的内容。这意味着我的第3次后续查询失败。我该怎么做?