PHP Conference Nagoya 2025

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"
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top