Php/docs/sqlite3stmt.getsql

提供:Dev Guides
< Php
移動先:案内検索

SQLite3Stmt::getSQL

(PHP 7 >= 7.4.0)

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


説明

public SQLite3Stmt::getSQL ([ bool $expanded = false ] ) : string|false

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


パラメータ

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


返り値

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


エラー / 例外

expanded にしたが、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"