pg_select

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_select Выбирает записи из базы данных

Описание

pg_select(
    PgSql\Connection$connection,
    string$table_name,
    array$conditions,
    int$flags = PGSQL_DML_EXEC,
    int$mode = PGSQL_ASSOC
): array|string|false

pg_select() выбирает записи из базы данных, удовлетворяющие условиям field=>value, заданным в массиве conditions.

Если задан параметр flags, то к массиву conditions будет применена функция pg_convert() с параметрами, заданными в качестве аргумента.

Если задан параметр mode, возвращаемое значение будет в виде массива при PGSQL_NUM, ассоциативного массива при PGSQL_ASSOC (по умолчанию) или и того, и другого при PGSQL_BOTH.

По умолчанию pg_insert() передаёт необработанные значения. Значения должны быть экранированы или опция PGSQL_DML_ESCAPE должна быть указана. PGSQL_DML_ESCAPE заключает в кавычки и экранирует параметры/идентификаторы. Поэтому имена таблиц/столбцов становятся чувствительными к регистру.

Обратите внимание, что ни экранирование, ни подготовленный запрос не защитят запрос LIKE, JSON, массив, регулярные выражения и т.д.. Эти параметры должны обрабатываться в соответствии с их контекстами, т.е. следует экранировать/проверять значения.

Список параметров

connection

Экземпляр класса PgSql\Connection.

table_name

Название таблицы, из которой выбираются данные.

conditions

Массив (array), ключи которого соответствуют именам колонок таблицы table_name. Будут выбраны только те строки, значения полей которых совпадут со значениями массива.

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, возвращаемое значение будет ассоциативным массивом (array), при PGSQL_NUM возвращаемое значение будет массивом (array), а при PGSQL_BOTH возвращаемое значение будет и ассоциативным и числовым индексированным массивом (array).

Возвращаемые значения

Возвращает строку (string), если flags содержит PGSQL_DML_STRING, в противном случае в случае успешного выполнения функция возвращает массив (array) или false, если возникла ошибка.

Список изменений

ВерсияОписание
8.1.0 Параметр connection теперь ожидает экземпляр класса PgSql\Connection; раньше параметр ждал ресурс (resource).
7.1.0 Добавлен параметр mode.

Примеры

Пример #1 Пример использования pg_select()

<?php
$db
= pg_connect('dbname=foo');
// Это безопасно в некоторой степени, поскольку все значения экранируются.

Смотрите также

  • pg_convert() - Преобразовывает значения ассоциативного массива в вид, который соответствует SQL-запросам
To Top