카테고리 없음

[PHP] ZF2 이미 활성 쿼리로 인해 실행이 차단됨

행복을전해요 2021. 1. 27. 04:15

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