ステートメントのSQLを取得する

# SQLite3Stmt::getSQL

(PHP 7 >= 7.4.0, PHP 8)

SQLite3Stmt::getSQL — ステートメントのSQLを取得する

### 説明

public function SQLite3Stmt::getSQL(bool `$expand` = `false`): string|false

プリペアドステートメントのSQLを取得します。 `expand` が `false` の場合、 変更されていないSQLを取得します。 `expand` が `true` の場合、 全てのクエリパラメータがバインド済みの値で、 何もバインドされていない場合は `NULL` で置き換えられます。

### パラメータ

`expand`

  展開済みのSQLを取得するかどうか。 `true` を渡すのは、libsqlite 3.14 以降でのみサポートされています。

### 戻り値

プリペアドステートメントのSQLを返します。 失敗した場合に `false` を返します

### エラー / 例外

`expand` を `true` に指定したが、libsqlite のバージョンが 3.14 より前の場合、 SQLite3::enableExceptions() に応じて、 `E_WARNING` レベルの警告または Exception が発生します。

### 例

例1 展開済みの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