PHP 8.6.0 Beta 1 is available for testing

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

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /