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