pg_update Обновление данных в таблице &reftitle.description; stringboolpg_update PgSql\Connectionconnection stringtable_name arrayvalues arrayconditions intflagsPGSQL_DML_EXEC pg_update заменяет записи в таблице, удовлетворяющие условиям conditions данными values. Если flags указан, pg_convert применяется к values с указанными флагами. По умолчанию pg_update передаёт необработанные значения. Значения должны быть экранированы или опция PGSQL_DML_ESCAPE должна быть указана. PGSQL_DML_ESCAPE заключает в кавычки и экранирует параметры/идентификаторы. Поэтому имена таблиц/столбцов становятся чувствительными к регистру. Обратите внимание, что ни экранирование, ни подготовленный запрос не защитят запрос LIKE, JSON, массив, регулярные выражения и т.д.. Эти параметры должны обрабатываться в соответствии с их контекстами, т.е. следует экранировать/проверять значения. &reftitle.parameters; connection &pgsql.parameter.connection; table_name Имя таблицы, в которой обновляются записи. values Массив (array), ключи которого соответствуют именам колонок таблицы table_name, а значения заменят данные в этих колонках. condition Массив (array), ключи которого соответствуют именам колонок таблицы table_name. Будут обновлены только те строки, значения полей которых совпадут со значениями массива. flags Одна из констант PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC или PGSQL_DML_STRING, либо их комбинация. Если flags содержит PGSQL_DML_STRING, функция вернёт строку. Если установлены PGSQL_DML_NO_CONV или PGSQL_DML_ESCAPE, то функция pg_convert внутренне не вызывается. &reftitle.returnvalues; &return.success; Функция вернёт строку (string), если константа PGSQL_DML_STRING содержится в flags. &reftitle.changelog; &Version; &Description; &pgsql.changelog.connection-object; &reftitle.examples; Пример использования <function>pg_update</function> 'AA', 'field2'=>'BB'); // Это безопасно в некоторой степени, поскольку все значения экранируются. // Однако PostgreSQL поддерживает JSON/массив. Для этих значений это не безопасно // ни с через экранирование, ни с помощью подготовленного запроса. $res = pg_update($db, 'post_log', $_POST, $data); if ($res) { echo "Данные обновлены: $res\n"; } else { echo "Должно быть переданы неверные данные\n"; } ?> ]]> &reftitle.seealso; pg_convert