PHP 8.3.4 Released!

pg_escape_literal

(PHP 5 >= 5.4.4, PHP 7, PHP 8)

pg_escape_literal Экранировать литерал при вставке в текстовое поле

Описание

pg_escape_literal(PgSql\Connection $connection = ?, string $data): string

Функция pg_escape_literal() экранирует литерал для запроса базы данных PostgreSQL. Она возвращает экранированный литерал в формате PostgreSQL. pg_escape_literal() добавляет кавычки до и после данных. Пользователи не должны добавлять кавычки. Рекомендуется использовать эту функцию вместо pg_escape_string(). Если тип столбца - bytea, вместо него следует использовать pg_escape_bytea(). Для экранирования идентификаторов (например, таблицы, имён полей) необходимо использовать pg_escape_identifier().

Замечание:

Эта функция имеет внутренний код экранирования и может также использоваться с PostgreSQL 8.4 или младшей версии.

Список параметров

connection

Экземпляр класса PgSql\Connection. Если параметр connection не указали, функция выберет соединение по умолчанию. Соединение по умолчанию — это последнее соединение, которое установила функция pg_connect() или pg_pconnect().

Внимание

Начиная с версии PHP 8.1.0 использование соединения по умолчанию устарело.

data

Строка (string), содержащая текст для экранирования.

Возвращаемые значения

Строка (string), содержащая экранированный текст.

Список изменений

Версия Описание
8.1.0 Параметр connection теперь ожидает экземпляр класса PgSql\Connection; раньше параметр ждал ресурс (resource).

Примеры

Пример #1 Пример использования pg_escape_literal()

<?php
// Подключение к базе данных
$dbconn = pg_connect('dbname=foo');

// Чтение из текстового файла (содержащий апострофы и обратные косые черты)
$data = file_get_contents('letter.txt');

// Экранирование текстовых данных
$escaped = pg_escape_literal($data);

// Вставка их в базу данных. Обратите внимание, что вокруг {$escaped} нет кавычек
pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', {$escaped})");
?>

Смотрите также

  • pg_escape_identifier() - Экранирует идентификатор для вставки в текстовое поле
  • pg_escape_bytea() - Экранирует спецсимволы в строке для вставки в поле типа bytea
  • pg_escape_string() - Экранирование спецсимволов в строке запроса

add a note

User Contributed Notes

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