public function getStatement(string $query_string) : ResultSet
    {
        if (!$this->is_connected) {
            $this->connect();
        }
        $stmt = $this->dbconn->prepare($query_string);
        if (false === $stmt) {
            // The statement could not be prepared, return an appropriate exception
            throw new DatabaseQueryException('The query could not be prepared. | ' . $query_string . ' | ' . $this->dbconn->errorInfo()[2]);
        }
        return new ResultSetPDO($stmt);
    }