pg_escape_identifier

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

pg_escape_identifier Экранирует идентификатор для вставки в текстовое поле

Описание

pg_escape_identifier(PgSql\Connection $connection = ?, string $data): string

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

Замечание:

Эта функция имеет внутренний код экранирования и может быть использована с PostgreSQL 8.4 и ниже.

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

connection

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

Внимание

Начиная с версии PHP 8.1.0, использование соединения по умолчанию устарело.

data

Строка (string), содержащая текст, который должен быть экранирован.

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

Строка (string), содержащая экранированные данные.

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

Версия Описание
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() - Экранирование спецсимволов в строке запроса

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top