SQLite3Stmt::getSQL
(PHP 7 >= 7.4.0)
SQLite3Stmt::getSQL — ステートメントのSQLを取得する
説明
public SQLite3Stmt::getSQL
([ bool $expanded
= false
] ) : string|false
プリペアドステートメントのSQLを取得します。
expanded
が false
の場合、
変更されていないSQLを取得します。
expanded
が true
の場合、
全てのクエリパラメータがバインド済みの値で、
何もバインドされていない場合は 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"