SQLite3Stmt::getSQL

(PHP 7 >= 7.4.0, PHP 8)

SQLite3Stmt::getSQLGet the SQL of the statement

说明

public 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.

参数

expand

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 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().

示例

示例 #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"