php8.5
Home/ Manual/ sqlite3 / sqlite3stmt/ SQLite3Stmt::getSQL

SQLite3Stmt::getSQL

PHP function Edit on GitHub ✎

(PHP 7 >= 7.4.0, PHP 8)

Get the SQL of the statement

Description

SQLite3Stmt::getSQL(bool $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 true is only supported as of libsqlite 3.14.

Return Values

Returns the SQL of the prepared statement, Falseforfailure.

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

Inspecting the expanded SQL

php
<?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:

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

Source: reference/sqlite3/sqlite3stmt/getsql.xml · from the official PHP manual (php/doc-en)