array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.pg-escape-string.php', 1 => 'pg_escape_string', ), 'up' => array ( 0 => 'ref.pgsql.php', 1 => 'Функции PostgreSQL', ), 'prev' => array ( 0 => 'function.pg-escape-literal.php', 1 => 'pg_escape_literal', ), 'next' => array ( 0 => 'function.pg-execute.php', 1 => 'pg_execute', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/pgsql/functions/pg-escape-string.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_escape_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 использование соединения по умолчанию устарело.
data
Исходная экранируемая строка.
Возвращает строку, в которой экранированы все необходимые символы.
Версия | Описание |
---|---|
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}')");
?>