SQLite3Stmt::getSQL()
(PHP 7 >= 7.4.0)
Get the SQL of the statement
说明
public SQLite3Stmt::getSQL([bool $expanded=FALSE
]): string
Retrieves the SQL of the prepared statement. If$expandedis FALSE
, the unmodified SQL is retrieved. If$expandedis TRUE
, all query parameters are replaced with their bound values, or with an SQLNULL, 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$expandedis 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().
范例
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"