MySQL에서 버퍼링되지 않은 쿼리를 사용하는 것 같습니다 .
그렇다면 버퍼링을 켜거나 중단 된 것처럼 보이는 이전 쿼리 실행을 중단해야합니까?
같은 것 $query->close()
편집하다:
의 $query
인스턴스 인 경우 반환되는 항목 StatementInterface
이 있으며 getResource()
이를 mysqli_stmt
호출 할 수 있습니다 close()
.
EDIT2 : (최종 해상도 통합)
PDO를 사용하는 경우 PDOStatement
전화를 받을 수 있습니다.closeCursor()
쿼리 결과가 손에 있고 그것이 ResultSet인지 Result인지 모른다고 가정하면 다음이 작업을 수행합니다. Zend Framework 3에서 테스트되었습니다.
use Zend\Db\ResultSet\ResultSet;
...
public function closeResult( $result )
{
if( is_a($result, ResultSet::class) )
{
$stmt = $result->getDataSource()->getResource();
}
else
{
$stmt = $result->getResource();
}
$stmt->closeCursor();
}
-------------------$this->adapter
->query($sql)
->execute()
->getResource()
->fetchAll(\PDO::FETCH_ASSOC);
출처
https://stackoverflow.com/questions/22029811