(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"