SQLite3Stmt::getSQL

(PHP 7 >= 7.4.0, PHP 8)

SQLite3Stmt::getSQLПолучить SQL-запрос в виде строки из запроса

Описание

public SQLite3Stmt::getSQL(bool $expand = false): string|false

Возвращает строковое представление 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"
add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top