pg_escape_literal

(PHP 5 >= 5.4.4, PHP 7)

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

Описание

pg_escape_literal ([ resource $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

Ресурс соединения с базой данных PostgreSQL. В случае, если connection не задан, используется соединение по умолчанию. Соединение по умолчанию - это последнее соединение, открытое функциями pg_connect() или pg_pconnect(). Если соединение по умолчанию отсутствует, вызывается ошибка уровня E_WARNING и возвращается FALSE.

data

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

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

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

Примеры

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