# SQLite3Stmt::getSQL

(PHP 7 >= 7.4.0, PHP 8)

SQLite3Stmt::getSQL — Get 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"

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open