Экранирует идентификатор перед вставкой в текст SQL-инструкции

# pg_escape_identifier

(PHP 5 >= 5.4.4, PHP 7, PHP 8)

pg_escape_identifier — Экранирует идентификатор перед вставкой в текст SQL-инструкции

### Описание

function pg_escape_identifier(PgSql\Connection `$connection` = ?, string `$string`): string|false

Функция pg_escape_identifier() экранирует названия таблиц, полей и других идентификаторов в SQL-инструкциях перед отправкой запроса к базе данных. Функция pg_escape_identifier() экранирует идентификаторы по правилам PostgreSQL-сервера — обрамляет двойными кавычками — и возвращает заэкранированную строку. Оставлять в SQL-инструкции незаэкранированные идентификаторы или добавлять двойные кавычки вручную — небезопасно. Строковые, числовые, логические и другие SQL-литералы внутри инструкции, кроме типа bytea, экранируют функцией pg_escape_literal() или pg_escape_string(). Поля с типом bytea экранируют функцией pg_escape_bytea().

### Список параметров

`connection`

  Экземпляр класса PgSql\Connection. Функция выберет соединение по умолчанию, если параметр `connection` не указали. Соединение по умолчанию — последнее соединение, которое установила функция pg_connect() или pg_pconnect().

  Внимание

  Начиная с PHP 8.1.0 выбор функцией соединения по умолчанию устарел.

`string`

  Текстовая строка (string), которую требуется заэкранировать.

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

Функция возвращает строку (string) с заэкранированными данными или `false` в случае ошибки.

### Список изменений

Версия | Описание
--- | ---
8.1.0 | Параметр `connection` теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.

### Примеры

Пример #1 Пример экранирования идентификатора функцией pg_escape_identifier()

    <?php

    // Устанавливаем соединение с базой данных
    $dbconn = pg_connect('dbname=foo');

    // Экранируем название таблицы
    $escaped = pg_escape_identifier($table_name);

    // Выбираем строки из таблицы $table_name
    pg_query("SELECT * FROM {$escaped};");

### Смотрите также

- pg_escape_literal() - Экранировать литерал при вставке в текстовое поле
- pg_escape_bytea() - Экранирует спецсимволы в строке для вставки в поле типа bytea
- pg_escape_string() - Экранирование спецсимволов в строке запроса

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open