SQLite3Stmt::getSQL
(PHP 7 >= 7.4.0, PHP 8)
SQLite3Stmt::getSQL — Get the SQL of the statement
Description
$expand = false): string|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.
Parameters
-
expand -
Whether to retrieve the expanded SQL. Passing
trueis only supported as of libsqlite 3.14.
Return Values
Returns the SQL of the prepared statement, or false on failure.
Errors/Exceptions
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().
Examples
Example #1 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));
?>
The above example will output something similar to:
string(24) "SELECT 'foo', '42', NULL"

