(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})");
?>