PHP 8.4.1 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() - Экранирование спецсимволов в строке запроса

Добавить

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

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