pg_escape_literal
(PHP 5 >= 5.4.4, PHP 7)
pg_escape_literal — Экранировать литерал при вставке в текстовое поле
Описание
$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() - Экранирование спецсимволов в строке запроса