(PHP 7 >= 7.4.0, PHP 8)
SQLite3Stmt::getSQL — Получить SQL-запрос в виде строки из запроса
Возвращает строковое представление SQL-запроса для подготовленного
запроса. Если параметр expand
задан как false
, будет возвращён не модифицированный SQL. Если
же expand
задан как true
, все
подставляемые параметры запроса будут заменены на конкретные
значения, либо на NULL
, если значения ещё не были
привязаны.
expand
Заменять ли в возвращаемом SQL-запросе параметры на конкретные
значения. true
поддерживается только с libsqlite 3.14.
Возвращает SQL-запрос из подготовленного запроса или false
, если возникла ошибка.
Если expand
задан как true
, но версия
libsqlite ниже 3.14, будет вызвана ошибка уровня
E_WARNING
либо выброшено исключение
Exception, в зависимости от настроек
SQLite3::enableExceptions().
Пример #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"