public function getPrettyStatement()
    {
        $assoc = [];
        $statement = $this->statement;
        foreach ($this->data as $key => $value) {
            if (is_numeric($key)) {
                $statement = $this->strReplaceOnce('?', "'" . $value . "'", $statement);
            } else {
                $assoc[] = $key;
            }
        }
        // Sort non-numeric keys descending by their string length.
        usort($assoc, function ($a, $b) {
            $alen = strlen($a);
            $blen = strlen($b);
            if ($alen === $blen) {
                return 0;
            }
            return $alen > $blen ? -1 : 1;
        });
        // Replace the longest keys first. This avoids conflicts/overlaps of shorter keys.
        foreach ($assoc as $key) {
            $statement = str_replace($key, "'" . $this->data[$key] . "'", $statement);
        }
        return $statement;
    }