(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_escape_string — Экранирование спецсимволов в строке запроса
Функция pg_escape_string() экранирует спецсимволы в строке запроса для базы данных. Она возвращает экранированную строку в формате PostgreSQL. Функция pg_escape_string() является наиболее предпочтительным способом экранирования SQL параметров для PostgreSQL, в то время как addslashes() не должна использоваться с PostgreSQL. Если тип столбца bytea, то должна использоваться функция pg_escape_bytea() вместо pg_escape_string. Функция pg_escape_identifier() должна использоваться для экранирования идентификаторов (например, имена таблиц или полей).
Замечание:
Функция поддерживается PostgreSQL версии 7.2 и выше.
connection
Экземпляр
класса PgSql\Connection.
Функция выберет соединение по умолчанию, если параметр connection
не указали.
Соединение по умолчанию — последнее соединение, которое установила функция pg_connect()
или pg_pconnect().
Начиная с PHP 8.1.0 выбор функцией соединения по умолчанию устарел.
data
Исходная экранируемая строка.
Возвращает строку, в которой экранированы все необходимые символы.
Версия | Описание |
---|---|
8.1.0 |
Параметр connection теперь ожидает экземпляр
класса PgSql\Connection; раньше параметр ожидал ресурс (resource).
|
Пример #1 Пример использования pg_escape_string()
<?php
// Подключение к базе данных
$dbconn = pg_connect('dbname=foo');
// Чтение текстового файла (содержащего апострофы и обратные слеши)
$data = file_get_contents('letter.txt');
// Экранирование спецсимволов в строке
$escaped = pg_escape_string($data);
// Вставка в таблицу базы данных
pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', '{$escaped}')");
?>