SQLite3Stmt::getSQL

(PHP 7 >= 7.4.0)

SQLite3Stmt::getSQLGet the SQL of the statement

説明

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

Retrieves the SQL of the prepared statement. If expanded is FALSE, the unmodified SQL is retrieved. If expanded is TRUE, all query parameters are replaced with their bound values, or with an SQL NULL, if not already bound.

パラメータ

expanded

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 expanded 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"