Экранирование спецсимволов в строке запроса

# pg_escape_string

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_escape_string — Экранирование спецсимволов в строке запроса

### Описание

function pg_escape_string(PgSql\Connection `$connection` = ?, string `$string`): 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 выбор функцией соединения по умолчанию устарел.

`string`

  Исходная экранируемая строка.

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

Возвращает строку, в которой экранированы все необходимые символы.

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

Версия | Описание
--- | ---
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}')");
    ?>

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

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

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