pg_select
Выбирает записи из базы данных
&reftitle.description;
arraystringfalsepg_select
PgSql\Connectionconnection
stringtable_name
arrayconditions[]
intflagsPGSQL_DML_EXEC
intmodePGSQL_ASSOC
Функция pg_select выбирает из базы данных записи,
которые удовлетворяют условиям field=>value
в массиве conditions. Функция вернёт массив записей,
поля которых удовлетворяют условиям conditions.
При установке параметра flags
функция применит к каждому условию в массиве conditions
функцию pg_convert с этими флагами.
При установке для параметра mode
режима PGSQL_NUM функция вернёт значение в форме индексного массива,
в режиме по умолчанию PGSQL_ASSOC возвращается ассоциативный массив,
а в режиме PGSQL_BOTH функция возвращает значения полей и с целочисленными,
и со строковыми ключами.
По умолчанию функция pg_insert передаёт необработанные значения.
Значения потребуется заэкранировать или указать опцию PGSQL_DML_ESCAPE.
Опция PGSQL_DML_ESCAPE берёт в кавычки и экранирует
параметры и идентификаторы. Поэтому названия таблиц и столбцов становятся
чувствительными к регистру.
Обратите внимание, что ни экранирование, ни подготовленный запрос не защитят запрос LIKE,
JSON, массив, регулярные выражения и т. д. Эти параметры потребуется обработать
в соответствии с их контекстом — заэкранировать или проверить значения.
&reftitle.parameters;
connection
&pgsql.parameter.connection;
table_name
Название таблицы, из которой требуется выбрать данные.
conditions
Массив (array), ключи которого соответствуют названиям полей таблицы
table_name, а значения — условиям извлечения строк.
Начиная с PHP 8.4.0 при передаче пустого массива функция не применяет условия.
Раньше при передаче пустого массива conditions функция завершалась ошибкой.
flags
Параметр принимает произвольное сочетание следующих констант: PGSQL_CONV_FORCE_NULL,
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 внутренне не вызывается.
mode
Константа PGSQL_ASSOC,
PGSQL_NUM
или PGSQL_BOTH.
В режиме PGSQL_ASSOC функция возвращает
ассоциативный массив,
в режиме PGSQL_NUM возвращается индексный массив,
а в режиме PGSQL_BOTH функция вернёт значения
и с ассоциативным, и с числовым ключом.
&reftitle.returnvalues;
Функция возвращает значение с типом string, если аргумент flags
содержит флаг PGSQL_DML_STRING,
в остальных случаях функция возвращает значение с типом array, если выполнилась успешно,&return.falseforfailure;.
&reftitle.changelog;
&Version;
&Description;
8.4.0
Параметр conditions стал необязательным.
&pgsql.changelog.connection-object;
7.1.0
Добавили параметр mode.
&reftitle.examples;
Пример выборки записей функцией pg_select
]]>
&reftitle.seealso;
pg_convert