SQLite3Stmt::getSQL

Get the SQL of the statement

&reftitle.description; public ``string``false```SQLite3Stmt::getSQL` `bool` `expand`&false;

Retrieves the SQL of the prepared statement. If `expand` is &false;, the unmodified SQL is retrieved. If `expand` is &true;, all query parameters are replaced with their bound values, or with an SQL `NULL`, if not already bound.

&reftitle.parameters;

`expand`

- Whether to retrieve the expanded SQL. Passing &true; is only supported as of libsqlite 3.14.

&reftitle.returnvalues;

Returns the SQL of the prepared statement, &return.falseforfailure;.

&reftitle.errors;

If `expand` is &true;, but the libsqlite version is less than 3.14, an error of level `E_WARNING` or an `Exception` is issued, according to `SQLite3::enableExceptions`.

&reftitle.examples;

### Inspecting the expanded SQL

    <?php
    $db = new SQLite3(':memory:');
    $stmt = $db->prepare("SELECT :a, ?, :c");
    $stmt->bindValue(':a', 'foo');
    $answer = 42;
    $stmt->bindParam(2, $answer);
    var_dump($stmt->getSQL(true));
    ?>

&example.outputs.similar;

    string(24) "SELECT 'foo', '42', NULL"