(PHP 7 >= 7.4.0, PHP 8)
SQLite3Stmt::getSQL — Obtém o SQL da instrução
Recupera o SQL da instrução preparada. Se expand
for
false
, o SQL não modificado é recuperado. Se expand
for true
, todos os parâmetros da consulta são substituídos por seus valores
vinculados, ou por um SQL NULL
, se ainda não estiverem vinculados.
expand
Se deseja recuperar o SQL expandido. Passar true
só é suportado a partir
do libsqlite 3.14.
Retorna o SQL da instrução preparada, ou false
em caso de falha.
Se expand
for true
, mas a versão do libsqlite for inferior
a 3.14, um erro de nível E_WARNING
ou uma Exception
é emitido, de acordo com SQLite3::enableExceptions().
Exemplo #1 Inspeção do SQL expandido
<?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));
?>
O exemplo acima produzirá algo semelhante a:
string(24) "SELECT 'foo', '42', NULL"