PHP 8.2.0 Beta 3 available for testing

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