(PHP 5 >= 5.4.4, PHP 7, PHP 8)
pg_escape_identifier — Экранирует идентификатор для вставки в текстовое поле
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};");
?>