(PHP 7 >= 7.4.0)
SQLite3Stmt::getSQL — Get the SQL of the statement
$expanded
= FALSE
] ) : string
Retrieves the SQL of the prepared statement. If expanded
is FALSE
, the unmodified SQL is retrieved. If expanded
is TRUE
, all query parameters are replaced with their bound values, or with
an SQL NULL
, if not already bound.
expanded
Whether to retrieve the expanded SQL. Passing TRUE
is only supported as
of libsqlite 3.14.
Returns the SQL of the prepared statement, 或者在失败时返回 FALSE
.
If expanded
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().
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));
?>
以上例程的输出类似于:
string(24) "SELECT 'foo', '42', NULL"