public function select(string $sql, array $parameters = []): ?PDOStatement
    {
        $statement = $this->prepareBind($sql, $parameters);

        if ($statement === null) {
            return null;
        }

        $startTime = \microtime(true);

        $this->executeStatement($statement);

        $endTime = \microtime(true);

        $this->addQuery($statement, $parameters, $this->getTime($startTime, $endTime));

        return $statement;
    }
public function select(string $sql, array $parameters = []): ?PDOStatement
    {
        $statement = $this->prepareBind($sql, $parameters);

        if ($statement === null) {
            return null;
        }

        $startTime = \microtime(true);

        $this->executeStatement($statement);

        $endTime = \microtime(true);

        $this->addQuery($statement, $parameters, $this->getTime($startTime, $endTime));

        return $statement;
    }
@param string $sql
@param array  $parameters

@throws DatabaseException

@return PDOStatement|null