/** * @param \Zend\Db\Adapter\Driver\Pdo\Statement $statement * @return int */ public function getCountForStatement(Pdo\Statement $statement) { $countStmt = clone $statement; $sql = $statement->getSql(); if ($sql == '' || stripos($sql, 'select') === false) { return null; } $countSql = 'SELECT COUNT(*) as "count" FROM (' . $sql . ')'; $countStmt->prepare($countSql); $result = $countStmt->execute(); $countRow = $result->getResource()->fetch(\PDO::FETCH_ASSOC); unset($statement, $result); return $countRow['count']; }
/** * @covers Zend\Db\Adapter\Driver\Pdo\Statement::getSql */ public function testGetSql() { $this->statement->setSql('SELECT 1'); $this->assertEquals('SELECT 1', $this->statement->getSql()); }