<?php declare(strict_types=1); namespace Doctrine\DBAL\Driver\PDO; use Doctrine\DBAL\Driver\Result as ResultInterface; use PDO; use PDOException; use PDOStatement; final class Result implements ResultInterface { private PDOStatement $statement; /** @internal The result can be only instantiated by its driver connection or statement. */ public function __construct(PDOStatement $statement) { $this->statement = $statement; } /** * {@inheritDoc} */ public function fetchNumeric() { return $this->fetch(PDO::FETCH_NUM); } /** * {@inheritDoc} */ public function fetchAssociative() { return $this->fetch(PDO::FETCH_ASSOC); } /** * {@inheritDoc} */ public function fetchOne() { return $this->fetch(PDO::FETCH_COLUMN); } /** * {@inheritDoc} */ public function fetchAllNumeric(): array { return $this->fetchAll(PDO::FETCH_NUM); } /** * {@inheritDoc} */ public function fetchAllAssociative(): array { return $this->fetchAll(PDO::FETCH_ASSOC); } /** * {@inheritDoc} */ public function fetchFirstColumn(): array { return $this->fetchAll(PDO::FETCH_COLUMN); } public function rowCount(): int { try { return $this->statement->rowCount(); } catch (PDOException $exception) { throw Exception::new($exception); } } public function columnCount(): int { try { return $this->statement->columnCount(); } catch (PDOException $exception) { throw Exception::new($exception); } } public function free(): void { $this->statement->closeCursor(); } /** * @psalm-param PDO::FETCH_* $mode * * @return mixed * * @throws Exception */ private function fetch(int $mode) { try { return $this->statement->fetch($mode); } catch (PDOException $exception) { throw Exception::new($exception); } } /** * @psalm-param PDO::FETCH_* $mode * * @return list<mixed> * * @throws Exception */ private function fetchAll(int $mode): array { try { return $this->statement->fetchAll($mode); } catch (PDOException $exception) { throw Exception::new($exception); } } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
MySQL | Folder | 0755 |
|
|
OCI | Folder | 0755 |
|
|
PgSQL | Folder | 0755 |
|
|
SQLSrv | Folder | 0755 |
|
|
SQLite | Folder | 0755 |
|
|
Connection.php | File | 3.89 KB | 0644 |
|
Exception.php | File | 617 B | 0644 |
|
PDOException.php | File | 711 B | 0644 |
|
ParameterTypeMap.php | File | 1.07 KB | 0644 |
|
Result.php | File | 2.43 KB | 0644 |
|
Statement.php | File | 3.67 KB | 0644 |
|